问题:
$_FILES[...]['type'] 是直接来自客户端还是 PHP / Apache 设置了这个值?
为什么我要问这个:
这个刚刚在编写应该检查上传文件类型的上传脚本时弹出,我已经有用于检查上传文件 mime 类型的代码,但我需要那个代码吗?
一些与问题相关的代码:
这是我目前在上传文件验证方法中得到的(简化),这应该检查上传文件的类型是否真的是客户端声称的:
// Get temporary file and mime type
$src = $file["tmp_name"];
$mime = $file['type'];
// Get real file mime type, this does not guarantee that file is valid
$finfo = new finfo();
$file_mime = $finfo->file( $src, FILEINFO_MIME_TYPE );
unset($finfo);
// Test mime types against each other
if ($file_mime === $http_mime)
return true;