1
A
回答
2
2
我知道這是一個有點老了,但我一直在尋找一個解決方案,這出在從MySQL中的BLOB,這是爲我工作的方式。我希望它也能幫助別人。我不知道哪種方式最適合性能,但值得測試。
$finfo = new finfo(FILEINFO_MIME);
$mimeType = $finfo->buffer($myBlobHere);
1
該OP只詢問圖像類型。對於圖像類型,getimagesizefromstring()
效果不錯,但finfo
適用於其他文件類型。不幸的是,finfo
在所有服務器上都不可用。它自PHP 5.3.0起包含,但在Windows系統上經常被禁用。因此,我選擇首先使用getimagesizefromstring
,如果這不能檢測到mimetype,我檢查finfo
-類,如果它存在,我嘗試finfo。
這是聯合解決方案:
$imagesize = getimagesizefromstring($blobVal);
if($imagesize!==false && isset($imagesize['mime']))
$mimetype = $imagesize['mime'];
elseif(class_exists('finfo'))
{
$finfo = new finfo(FILEINFO_MIME);
$mimetype = $finfo->buffer($blobVal);
}
else
$mimetype = "application/octet-stream";
在這裏,我使用的是默認的MIME類型作爲後備,你可能需要調整這一點。
注意:使用finfo
,你可能想FILEINFO_MIME_TYPE
而不是FILEINFO_MIME
,因爲後者還包含了編碼,而FILEINFO_MIME_TYPE
只返回MIME類型。在我的情況下,我在http內容類型頭中使用$mimetype
,其中編碼很有幫助。
相關問題
- 1. 從NSData確定MIME類型?
- 2. 如何在JavaScript中獲取圖像/ blob的MIME類型?
- 3. Zend Framework無法確定MIME類型的圖像上傳
- 4. 無法確定文件的MIME類型
- 5. 如何確定適當的MIME類型
- 6. 確定excel文件的MIME類型
- 7. 確定文件的MIME類型
- 8. 從MIME類型獲取圖像類型在PHP
- 9. 檢查圖像的MIME類型
- 10. JSON的正確MIME類型?
- 11. 確定由意圖返回的android中的uri的MIME類型?
- 12. php gd imagecreatefromstring()和圖像MIME類型
- 13. PHP檢查圖像MIME類型
- 14. png圖像MIME類型錯誤cakephp
- 15. 確定共享Dropbox意圖的MIME類型?
- 16. CakePHP的上傳圖片 - 無法確定MIME類型
- 17. 的JavaScript:確定圖像類型
- 18. 確定圖像的文件類型
- 19. 如何確定Azure容器中所有Blob的Blob類型?
- 20. 將圖像保存爲Blob類型
- 21. 如何確定圖像類型
- 22. Php不返回正確的MIME類型
- 23. 什麼是vcalendar的正確MIME類型
- 24. css.map文件的正確MIME類型
- 25. Php include()正確的MIME類型
- 26. PHP報告不正確的MIME類型
- 27. HTML5視頻 - 不正確的MIME類型
- 28. JSON的正確MIME類型是什麼?
- 29. 從MediaPromise獲取MIME /類型
- 30. 從DataHandler檢測MIME類型
如果有臨時文件,請顯示代碼如何執行。 – hakre