2015-11-07 53 views
0

我在數據庫中存儲小圖像(MySQL,blob),所以當我檢索任何圖像時,它都是變量。PHP - 猜測存儲在變量中的圖像的MIME類型

我的計劃是用CSS作爲背景圖像中的base64編碼顯示圖像:background: url(data:image/…

爲了執行該操作,我需要檢測變量中MIME類型的圖像。有exif_imagetype,但它只適用於文件。

有沒有什麼辦法來檢測MIME類型的圖像,而不是存儲爲文件,但在變量?

+1

爲什麼不在上傳時存儲MIME類型? –

+0

@ DanielA.White我可以,但是有沒有什麼辦法可以實時進行MIME檢測,而不會在DB中存儲任何不一致的數據? –

+1

我不認爲這是「不必要」,這將是一個優化。 –

回答

1

您可以使用getimagesizefromstring獲取有關圖像blob的信息,包括圖像的MIME類型。它自PHP 5.4起可用。

但是,我也建議將MIME類型存儲在數據庫中。啓發式方法是「昂貴的」,並且在數據庫中存儲幾個字節比反覆猜測圖像類型效率更高。

+0

這正是我所期待的。謝謝@lxg! –