1

我有一个进行文件上传的 PHP 网站,我希望能够根据文件类型执行某些操作。但我不想相信浏览器说它是什么类型的文件,而宁愿阅读文件的标题来确定它。PHP中是否存在为此的任何库?或者这是我需要从头开始写的东西?

4

4 回答 4

4

使用finfo为您执行此操作的功能。

以前您可以使用 mime_content_type 函数,现在已弃用,因此,请改用

$finfo = new finfo(FILEINFO_MIME);
$type  = $finfo->file('path/filename');
于 2013-10-31T13:44:03.390 回答
2

文件信息功能可以给你文件类型

 $finfo = finfo_open(FILEINFO_MIME_TYPE);

 echo finfo_file($finfo, $filename);

它可以提供类似的输出

text/html
image/gif
application/vnd.ms-excel
于 2013-10-31T13:49:18.553 回答
0

curl_getinfo 应该有助于 与此问题相关的http://php.net/curl_getinfo:Get mime type of external file using cURL and php

于 2013-10-31T13:50:16.853 回答
0

PHP中有一个函数fread()可以用来读取二进制文件:

http://php.net/manual/en/function.fread.php

您可以使用它来读取文件的前几个字节以获取标题并以这种方式确定文件类型。

于 2013-10-31T13:43:22.273 回答