我有一个用于输入文件的HTML表单,并且php验证输入的文件是否是通过扩展名.xls的xls文件!! 现在,如果用户重命名图像或脚本文件,请将abc.jpeg说成abc.xsl,该文件不会被php代码验证!我如何验证它是否真的是一个xls文件而不管扩展名如何? 用于验证的PHP代码
if(in_array($file_ext,$expensions)=== false)
{
echo "extension not allowed, please choose a .xls file.";
exit();
}
答案 0 :(得分:0)
我建议您使用mime_content_type
而不是使用文件扩展名返回文件的MIME内容类型。查看链接http://php.net/manual/en/function.mime-content-type.php了解详情。
您可以准备一个具有所有允许的MIME类型/文件类型的数组,然后使用函数mime_content_type检查上传文件的MIME内容类型。
echo mime_content_type('test.php'); //返回text / plain
这将有助于您的代码在跨平台(其他操作系统兼容性)问题中验证文件扩展名/文件类型。