[英]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, ';'));
任何想法為什么可能會這樣?
我正在運行以下內容:
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.