我想我最終建立一個腳本,強制瀏覽器在某種意義上提示下載,而不是直接轉到該文件,我想基於數據庫條目來做,所以它只是混淆了一點點更多。我的問題是我只能找到一個MIME類型或2個工作,但我想要一個公平的股票價值。從文檔到PDF,到MP3到AVI ..我的腳本將基於文件的擴展運行,然後輸出適當的頭只需要知道什麼類型的文件頭。默認情況下,是否有已知的在瀏覽器中流式傳輸或打開的文件類型的公共列表?是否有完整的MIME類型/頭文件列表?
1
A
回答
4
文件擴展名不完全是確定文件類型的最可靠的方法。你可能有興趣做一些MIME猜測。如果你的應用程序在Linux的主機,你可以從與-i
選項file命令行工具中受益:
// Use escapeshellarg() to inject arbitrary file paths
$content_type = `file -i /path/to/file`;
否則,PHP有一個PECL擴展名爲Fileinfo。
如果你想堅持文件擴展名,media types are approved by the IANA。
更新: Fileinfo的是,因爲PHP/5.3.0原生擴展(因此無需安裝第三方應用程序)。使用示例:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, '/path/to/file');
finfo_close($finfo);
1
我最近使用這個Multipart Internet Mail Extensions (MIME)列表,它幫助了我。
1
太長的評論。所以我把它作爲答案。
測試MIME類型支持
螢火蟲可用於檢查什麼標頭的Apache返回不同 圖像和電影類型。爲此,只需嘗試在HTML中加載所需的 文件。打開Firebug並轉到「Net」 - >「Headers」 - >「Response Headers」。內容類型應該出現在那裏。如果Apache不識別圖像/電影,則 可能會返回爲「text/plain」。如果Apache確實能夠識別該資源,則應該看到正確的MIME類型,例如 。 「視頻/ WEBM」。請注意,如果您在請求狀態旁邊看到 「304未修改」,則從緩存中取出資源 ,並且HTTP標頭可能不會反映您對Apache配置所做的任何 更改。您可以使用「控制 + F5」強制Firefox重新獲取所有緩存的項目。
從上面的提示中,您可以通過解析服務器響應來測試Web服務器的內容類型響應。如果返回text/plain
,則表示不支持MIME。
相關問題
- 1. MIME類型的完整列表<->文件擴展名映射
- 2. Thrift是否有常用的MIME類型?
- 3. CAN數據是否有MIME類型?
- 4. 是否有「默認」MIME類型?
- 5. zsh完成 - 列出某些MIME類型的文件
- 6. 是否有Mule入站端點生成的類型的完整列表?
- 7. .htaccess文件的MIME類型是什麼?
- 8. 什麼是wsdl文件的mime類型?
- 9. 什麼是.py文件的MIME類型?
- 10. MIME類型的文件
- 11. Dropbox文件的MIME類型?
- 12. Makefile文件是否完整?
- 13. 其中是具有HTML5源屬性的編解碼器的MIME類型的完整列表?
- 14. 設置文件的確切MIME類型是否會改進?
- 15. Rails 3.2中的'Mime'和'MIME'(文件上傳類型)是什麼?
- 16. UIWebView和文件MIME類型
- 17. .alx文件MIME類型
- 18. MIME類型爲.txt文件?
- 19. 文件Mime類型檢查
- 20. 什麼是.NET的各種文件類型的mime類型?
- 21. 檢查文件是否存在並返回MIME類型
- 22. 如何檢查上傳的文件是否爲沒有MIME類型的圖像?
- 23. 檢查MIME類型是否正確?
- 24. 缺少Mime類型。這是否正常?
- 25. Minio是否支持MIME類型檢查?
- 26. 文件的MIME類型的驗證,如果文件是在laravel
- 27. bulma類的完整列表
- 28. XLS電子表格的完整文件頭是什麼?
- 29. 將外部文件用於MIME類型列表
- 30. 類型和箭頭之間的類型類是否有意義?
有一個.NET框架的替代方案:http://stackoverflow.com/questions/3937958/how-can-i-query-iis-for-mime-type-mappings(仍在尋找PHP + Apache解決方案) – Raptor
我很欣賞通過.NET提供的解決方案,不幸的是,我正在構建的應用程序是用PHP開發的。但是,好的電話都不會少,當談到在一個類似的需求的.NET網站上工作時,必須記住這一點 – chris