PHP判断文件上传的真实类型

目录

当用户上传文件时,有可能用户会将aaa.txt文件命名成aaa.jpg,PHP后端使用getimagesize会报错,因为源文件不是图片。那怎么样才能获得文件的真实类型呢?

研究laravel源码发现,是使用finfo

1
2
3
4
5
if (!$finfo = new \finfo(\FILEINFO_MIME_TYPE, null)) {
return null;
}
$mimeType = $finfo->file('./test.txt'); // 换成./test.jpg
echo $mimeType;

结果输出:

text/plain

通过https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

对照关系,获得文件真实扩展