PHP上传 - 如何在文件超过upload_max_filesize时返回错误?

时间:2016-07-09 09:45:54

标签: php .htaccess file-upload

当上传文件超过 upload_max_filesize时,为什么我会得到一个空数组而不是错误信息?

如何获得如下所示的错误代码1?

1 => 'The uploaded file exceeds the upload_max_filesize directive in php.ini',

我已将.htaccess中的上传最大限制设置为2MB:

php_value post_max_size 2M
php_value upload_max_filesize 2M

我的HTML表单:

 <form class="form-submission" method="post" action="upload.php" enctype= "multipart/form-data">
    <input type="file" name="upload[]" id="input-file" multiple required>
    <button type="submit" class="btn btn-default no-gradient">Submit</button>
</form>

upload.php的:

print_r($_FILES);

然后我尝试上传大于2MB的文件。结果是:

Array ( ) 

PHP没有错误。如何确保PHP返回错误?有可能吗?

如果我的upload.php中有this

print_r($_SERVER['CONTENT_LENGTH']);

我明白了:

6564878 // what is this mean??

1 个答案:

答案 0 :(得分:0)

错误在$ _FILES [&#39; userfile&#39;] [&#39;错误&#39;]中。您只需检查此值是否为UPLOAD_ERR_INI_SIZE以检测文件是否大于php.ini中定义的最大大小。

希望它有所帮助。