PHP限制上传大小验证

I want to ask about PHP Limit upload size validation I have made the code to limit size upload, but thats still get error

My limit size is 500 Kb when I upload file above 500Kb to 2Mb, the validation is working but when my file size above 2Mb, the validation isnt working

here is my first code

$maxsize    = 500000;
if(($_FILES['myfile']['size'] >= $maxsize) || ($_FILES["myfile"]["size"] == 0)) {
                    $error = true;
                    array_push($error_cause, "<li>File size is over limit");
                }

and this is my second code

if ($myfile->getSize() > 500000) {
                    $error = true;
                    array_push($error_cause, "<li>File size is over limit");
                }

To make it clearer, i make a GIF about the problem Here

Arithmetic 101: 5MB ===> 5 * 1024 * 1024 bytes

To keep code clear, I often define units as constants:

<?php
define('KB', 1024);
define('MB', 1048576);
define('GB', 1073741824);
define('TB', 1099511627776);
// Then you can simply do your condition like
ini_set('upload_max_filesize', 5*MB);
if (isset ( $_FILES['uploaded_file'] ) ) {
    $file_size = $_FILES['uploaded_file']['size'];
    $file_type = $_FILES['uploaded_file']['type'];
    if (($file_size > 0.5*MB) && ($file_size < 2*MB)){      
        $message = 'File too large. File must be more than 500 KB and less than 2 MB.'; 
        echo $message; 
    }

Simple method:

$min =  500; //KB
$max = 2000; //KB

if($_FILES['myfile']['size'] < $min * 1024 || $_FILES['myfile']['size'] > $max * 1024){
 echo 'error';
}

The value of upload_max_filesize in php.ini is 2MB by default. Any file larger than this will be rejected by PHP.

You'll want to change the value in your php.ini file, and make sure to also adjust the post_max_size setting, as this is also considered for uploaded files.

When the uploaded file size is larger than the limit, the $_FILES array will be empty and you won't detect the upload at all (and thus, you won't show any errors).

You can see the actual uploaded file size by looking at the value fo $_SERVER['CONTENT_LENGTH'].