这是我的上传表单:
<form action="uploads.php" method="post" enctype="multipart/form-data">
<input name="fileupload" type="file" multiple>
<button>Upload</button>
</form>
我的最大上传大小设置如下:
; Maximum allowed size for uploaded files.
upload_max_filesize = 5M
; Must be greater than or equal to upload_max_filesize
post_max_size = 5M
如果我上传大于5M的文件var_dump($_FILES)
是空的。我可以这样做:
if($_FILES){
echo "Upload done!";
}
$_FILES
如果文件大于 5M,则不设置。但这有点奇怪。你会怎么做?
EDIT:
超过5M文件的var_dump:
array(0) {
}
文件
array(1) {
["fileupload"]=>
array(5) {
["name"]=>
string(13) "netzerk12.pdf"
["type"]=>
string(15) "application/pdf"
["tmp_name"]=>
string(22) "/tmp/uploads/phpWhm8M0"
["error"]=>
int(0)
["size"]=>
int(352361)
}
}
你可以检查$_SERVER['CONTENT_LENGTH']
:
// check that post_max_size has not been reached
// convert_to_bytes is the function turn `5M` to bytes because $_SERVER['CONTENT_LENGTH'] is in bytes.
if (isset($_SERVER['CONTENT_LENGTH'])
&& (int) $_SERVER['CONTENT_LENGTH'] > convert_to_bytes(ini_get('post_max_size')))
{
// ... with your logic
throw new Exception('File too large!');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)