Mime Type vs Extension Check,哪种方法更好地检查文件类型?

时间:2017-01-14 18:17:48

标签: php file-upload

我正在创建一个上传图片文件的脚本。有两种方法可以验证文件是否是图像。

首先是检查扩展名:

$extension = strtolower(substr($filename, strrpos($filename, '.') + 1, strlen($filename) - strrpos($filename, '.')));
if ($extension == "jpg") // UPLOAD

另一个是通过检查mime类型:

$imageinfo = getimagesize($filename);
if ($imageinfo['mime'] == "image/jpeg") // UPLOAD

验证文件是否为图像的哪种方法更好?

1 个答案:

答案 0 :(得分:1)

使用第一个,因为并非每种MIME类型都有固定的文件扩展名。此外, application/octet-stream 等MIME类型可以引用多个文件扩展名。您还可以使用pathinfo()获取文件扩展名。

检查以下链接

How to extract a file extension in PHP?

Not every MIME type has a fixed file extension...