2012-03-23 75 views
0

我想对下面使用jQuery Uploadify插件上传的单个文件进行验证。如何使用Uploadify插件进行服务器端验证?

  1. 检查文件类型为.jpg,.png & .gif注意:
  2. 检查文件大小不得超过2MB只有

我已经通过fileExt & sizeLimit选择这样做,但正如插件开发人员所说,可以轻松绕过fileExt验证&建议使用服务器端验证。

我想使用PHP服务器端脚本语言来做到这一点。

我已经检查了插件&的文档没有什么有用的发现那里。 有人可以请建议如何做到这一点?

在此先感谢。

回答

1

我会推荐使用filesizeexif_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

+0

好吧,但我应该如何显示这些验证错误? – aslamdoctor 2012-03-24 01:15:01

+0

您想要在错误中显示什么? – Whymarrh 2012-03-24 15:48:56

0

您需要对处理文件上传的脚本进行验证。这不是预验证。

您可以使用exif_imagetype以确保它是一个图像文件。

使用filesize($_FILES['file']['tmp_name']) < 2000000来验证文件的大小。