簡體   English   中英

獲取沒有PECL擴展名的PHP5中本地文件的MIME類型?

[英]Get MIME type of a local file in PHP5 without a PECL extension?

mime_content_type()已棄用。

如何使用PHP5查找本地文件的MIME type ,而不使用不推薦使用的方法或PECL fileinfo擴展名?

編輯:那就是我所擔心的。 不幸的是,他們不贊成使用內置函數,而傾向於需要一個並不總是可用的擴展的函數。

如果您不能使用fileinfo擴展名,並且不想使用mime_content_type,那么您的選擇將受到限制。

最有可能需要根據文件擴展名進行查找。 mime_content_type做了一些更智能的操作,實際上在文件中尋找特殊數據來確定mime類型。

getID3()庫是最快捷,最便捷的時機選擇。 該庫最初是為獲得MP3 ID3數據的項目而命名的,它的功能遠遠超出了這兩個范圍,並且對於各種常見或奇數文件元數據任務非常方便。

我用它來獲取在線圖像和視頻工具的文件的MIME類型。 在完成的所有測試中,我沒有看到getID3弄錯了MIME類型。

我還用它來檢查QuickTime視頻是否有流媒體提示。 我將其作為多功能性的一個例子。

第二個比較耗時的選擇是按照建議的方式滾動自己的MIME類型檢查器。 如果您有MIME魔術文件,則可以通過將文件數據的前n個字節與從MIME魔術文件派生的MIME類型查找表進行比較,將文件數據的前n個字節與前n個字節相比,可以對文件擴展名進行更多的查找。

一個典型的MIME魔術文件將包含超過500套MIME類型,這可能導致比較緩慢(要進行大量檢查)。 在您的家用解決方案中對10種最常見的MIME類型檢查進行硬編碼將對您有所幫助。

暫無
暫無

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

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