如果文件大小超过2 MB,getimagesize将返回警告

时间:2016-09-11 14:44:30

标签: php

我正在尝试从用户那里获取图片。现在,如果文件大小超过2 MB,我的脚本应该向用户返回一条消息,说明文件大小限制为2 MB。为此我保留了如下支票 -

if($_FILES["QuestionImage"]["size"] > 2097152){
     echo "File size is more than 2 MB";
}else{
     $check = getimagesize($_FILES["QuestionImage"]["tmp_name"]);
     ...... 
}

但是,如果文件大小超过2 MB,脚本仍会进入else部分。我不知道为什么会这样。我测试了1 MB的限制,并尝试上传1.4 MB的文件。在这种情况下,代码完美无缺。但是,在相同的代码中,如果文件大小为2 MB,它仍会进入else部分并且getimagesize返回错误。任何指针?

1 个答案:

答案 0 :(得分:0)

此解决方案由其他人发布,然后被删除。有用。但我需要了解基本问题

if(filesize($_FILES['QuestionImage']['tmp_name']) > 2097152){
    echo "File size is more than 2 MB";
 }else{
   $check = getimagesize($_FILES["QuestionImage"]["tmp_name"]);
    ...... 
  }