php – 检测上传的文件是否太大
发布时间:2020-12-13 13:34:36 所属栏目:PHP教程 来源:网络整理
导读:这是我的上传表格: form action="uploads.php" method="post" enctype="multipart/form-data" input name="fileupload" type="file" multiple buttonUpload/button/form 我的最大上传大小设置如下: ; Maximum allowed size for uploaded files.upload_max_
这是我的上传表格:
<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!"; } 如果文件大于5M,则不设置$_FILES.但这有点奇怪.你会怎么做? 编辑: 文件的var_dump超过5M: array(0) { } var_dump文件< = 5M: 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!'); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |