为什么上传时图片返回filesize = 0?

时间:2010-09-19 01:36:33

标签: php image-processing file-upload

我有一个上传文件的PHP表单,并且所有文件都运行良好,限制大小设置为7340032字节(7Mbs)并且它工作正常,但是当我尝试上传大于500kbs的图像时,我回显了值第一个if:

if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0){

它说每次图像大小为0,为什么会发生这种情况? post_max_size的php.ini值为15M,upload_max_filesize的值为10M。

1 个答案:

答案 0 :(得分:1)

检查上传文件的大小是否为非零不是检查上传是否成功的正确方法。那里有['error']参数。不完整的上传仍然具有非零大小,但不应处理。更好的检查方法是:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     if ($_FILES['userfile']['error'] !== UPLOAD_ERR_OK) {
        die("File upload error: {$_FILES['userfile']['error']}");
     }
     ... process file here ...
}

错误代码常量为defined here