我有一个获取上传文件大小的需求,如果文件大小大于某个特定值,就提示用户文件过大,不允许上传。从网上查了很长时间,都没有找到合适的方法,这个问题苦恼了我很长时间,请问有没有人能给我一个解决的方案。万分感谢!!

解决方案 »

  1.   


    if($_FILES['postName']['size'] > $fileAllowedMaxSize){
        echo "The file isn't allowed";
    }
      

  2.   

    前台使用ajax,服务器端就使用$_FILES['postName']['size']判断
    这是通吃的办法还有个办法js用new image(filePath),把上传文件当图片。但是该方法在非ie浏览器下不行。
      

  3.   

    首先在html页面隐藏域传MAX_FILE_SIZE,这就像个提示,如果他跳过这步,那我们也就没什么理亏的了,接下来,在php页面判断$_FILE['xxx']['error']其值为 0,没有错误发生,文件上传成功。  
    UPLOAD_ERR_INI_SIZE 
    其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。  
    UPLOAD_ERR_FORM_SIZE 
    其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。  
    UPLOAD_ERR_PARTIAL 
    其值为 3,文件只有部分被上传。  
    UPLOAD_ERR_NO_FILE 
    其值为 4,没有文件被上传。  
    UPLOAD_ERR_NO_TMP_DIR 
    其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。  
    UPLOAD_ERR_CANT_WRITE 
    其值为 7,文件写入失败。PHP 5.1.0 引进。 
      

  4.   

    $_FILES['postName']['size'] 得不到文件的大小。