簡體   English   中英

來自PHP的錯誤的MIME類型

[英]Incorrect mime-type from PHP

上載在Microsoft Power Point中創建的Power Point 2000文檔(.ppt)時,返回的是mime類型的application / vnd.ms-office。 我希望application / vnd.ms-powerpoint從以下位置返回:

    <?php
    $finfo = new finfo(FILEINFO_MIME);
    $mime_type = $finfo->file($filepath);

    // strip off the mime encoding information
    $mime_type = substr($mime_type, 0, strpos($mime_type, ';'));

任何想法為什么可能會這樣?

我正在運行以下內容:

  • 的Ubuntu
  • PHP 5.2
  • 阿帕奇2

finfo並非100%可靠,尤其是涉及Microsoft Office文檔時。 我認為您的解決方案不容易解決。 您可以嘗試,如果它返回application/vnd.ms-office ,則另外檢查文件的擴展名是否為.ppt ,如果是,則將mime類型設置為application/vnd.ms-powerpoint 當然,擴展名是沒有意義的,但是使用Microsoft的擴展名很有可能是帶有.ppt擴展名的文件的簡報,而不是其他任何文件。

確保Apache MIME類型文件針對該文件擴展名具有正確的MIME類型。 您將要查看/conf/mime.types並添加這些行(如果它們不存在)。

application/vnd.powerpoint ppt
application/vnd.powerpoint pptx

進行這些更改后,您將需要重新啟動Apache。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM