【发布时间】:2017-05-29 22:23:15
【问题描述】:
我正在创建一个脚本来上传图像文件。有两种方法可以验证文件是否为图像。
第一个是通过检查扩展:
$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
验证文件是否为图像的更好方法是什么?
【问题讨论】:
-
很公平。但是我想知道这些方法中哪一种更好?
-
两者都不那么可靠。您可能想查看 PHP Fileinfo 模块。虽然仍然不是 100% 可靠。
-
如果你想确保文件是使用像 Imagick 这样的库的图像我认为更可靠
-
两者都很容易被伪造,所以两者都没有真正的好坏
标签: php file-upload