2010-07-07 82 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类型检测是您整体安全措施的一部分。