0
我有存儲在MySQL數據庫中的文件。檢測MIME從數據庫中提取的文件類型
我們需要找到這些文件的MIME類型,以強制文件在瀏覽器中打開而不是下載。
getimagesize和finfo不會在這種情況下工作,因爲它們需要一個參數作爲文件的路徑而不是文件內容。
有沒有一種方法可以直接從文件內容中檢測PHP中的MIME類型。
我有存儲在MySQL數據庫中的文件。檢測MIME從數據庫中提取的文件類型
我們需要找到這些文件的MIME類型,以強制文件在瀏覽器中打開而不是下載。
getimagesize和finfo不會在這種情況下工作,因爲它們需要一個參數作爲文件的路徑而不是文件內容。
有沒有一種方法可以直接從文件內容中檢測PHP中的MIME類型。
您可以使用finfo_open和finfo_buffer獲取MIME類型。在這個例子中,我從谷歌閱讀圖像的內容,並得到它的mimetype:
<?php
$Resource = finfo_open(FILEINFO_MIME);
$Info = finfo_buffer($Resource, file_get_contents('https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png')); // Returns: image/png; charset=binary
list($Mime, $Other) = explode(";", $Info);
echo $Mime; // image/png
完美地工作,謝謝! – ratherBeKiting
爲什麼你甚至將文件保存到數據庫? –
你是否也保存了擴展名? – MoeinPorkamel