2010-07-07 81 views

回答

0

解析你的Apache的mime.types文件。

1

我認爲你需要頭。最快的方法是做一個頭部請求,或者在PHP下的apache中,您可以使用apache_lookup_uri或在PHP 5.3中使用FileInfo(儘管如此,我仍然推薦使用apache_lookup_uri或簡單的頭部請求)。

+1

'apache_lookup_uri'不會給你一個MIME類型,AFAIK。如果您擁有PECL,則FileInfo將起作用,如@David所述。 – Amadan 2010-07-07 03:10:57

+1

apache_lookup_uri其他事情返回'content_type'這是mime類型 – nathan 2010-07-07 11:33:21

+2

我將.PHP文件中的一個重命名爲.PNG和'apache_lookup_uri()'返回了'im​​age/png'作爲Content-Type,這證明了這一點只不過是對「假」MIME類型映射的擴展。此外,它可能會很危險,因爲Apache實際上請求文件並可能導致代碼執行(不確定這一點)。 – 2011-02-17 18:39:44

0

嘗試CI的內置函數「get_mime_by_extension($ file)」。你可以在「system/helpers/file_helper.php」文件中找到它

1

它從來不是一個好主意,試圖找到基於文件擴展名的MIME類型,因爲這顯然可以被使用的whos上傳重命名 - 從.exe到.jpg

真正的mime類型檢測是您整體安全措施的一部分。