在php中如何检查上传的图片大小是否大于2MB?

时间:2014-12-19 14:21:26

标签: php html

我正在使用php进行图像压缩。



<?php
if ($_POST) {
	echo $_FILES['file']['size'];
}
?>
<html>
    <head><title>Php code compress the image</title></head>
    <body>
		<form action="" name="myform" id="myform" method="post" enctype="multipart/form-data">
			<ul>
				<li>
					<label>Upload:</label>
                    <input type="file" name="file" id="file"/>
				</li>
				<li>
					<input type="submit" name="submit" id="submit" class="submit btn-success"/>
				</li>
			</ul>
		</form>
	</body>
</html>
&#13;
&#13;
&#13;

这可以正常使用小于2MB的图像。

如果尺寸> 2MB,那么在点击提交按钮后,即使它没有显示在$_FILES

4 个答案:

答案 0 :(得分:3)

您首先要问的是,您没有检查上传是否成功。在您检查错误之前,您无法在$ _FILES中使用任何内容。检查$ _POST不是&#34;错误检查&#34;。

至少你应该

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   if ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
        die("Upload failed with error code " . $_FILES['file']['error']);
   }
   ... got here, upload was successful
}

答案 1 :(得分:2)

您可以查看$_FILES['file']['error']并检查其值是否等于魔力常数UPLOAD_ERR_INI_SIZE

if ($_FILES['file']['error'] === UPLOAD_ERR_INI_SIZE) { 
    //uploading failed due to size limmit
} 

答案 2 :(得分:0)

这可能是由于“upload_max_filesize”和/或“max_post_size”设置造成的。检查php.ini中的设置。

答案 3 :(得分:0)

如果上传的尺寸大于2 mb则显示错误

,则可以使用此功能
if($file_size > 2048) {
    $errors[]='File size is greater than 2 MB';
}

或者,如果您要上传的图片大小超过2 MB,请修改php.ini文件并更改&#34; upload_max_filesize&#34;和/或&#34; max_post_size&#34;值。