我想对使用jQuery Uploadify插件上传的单个文件进行以下验证。
- 检查文件类型.jpg、.png&gif
- 检查文件大小最大值仅为2MB
我已经通过fileExt
&sizeLimit
选项,但正如插件开发人员所说,可以轻松绕过fileExt
验证&建议进行服务器端验证。
我想使用PHP服务器端脚本语言来完成这项工作。
我已经检查了插件的文档&没有发现任何有用的东西。有人能建议一下怎么做吗?
提前谢谢。
我建议使用filesize和exif_imagetype函数来评估文件。以下内容应该为您指明正确的方向:
$up_file = "file_the_user_uploaded";
$two_mb = 2097152;
if (filesize($up_file) < $two_mb) {
if (exif_imagetype($up_file) > 0 && exif_imagetype($up_file) < 4) {
// the file is .gif, .jpg, or .png and less than 2MB
// do something to approve the file upload
}
}
注意,PHP中的filesize()
函数返回的大小以字节为单位,因此,文件应该小于$two_mb
字节。此外,exif_imagetype()
返回映射到上传图像的MIME类型的整数码:1、2、3,分别为.gif
、.jpg
和.png
。
您需要对处理文件上传的脚本进行验证。这不是预验证。
您可以使用exif_imagetype来确保它是一个图像文件。
使用filesize($_FILES['file']['tmp_name']) < 2000000
验证文件的大小。