如何使用PHP限制上传文件的大小?

如何使用PHP限制上传文件的大小?,php,file,filesize,uploading,Php,File,Filesize,Uploading,我想限制可以上传到远程服务器的图像的文件大小。我写了下面的代码,允许我成功上传文件,在我的图像库中运行良好 但是,我想将文件大小限制在2MB左右。此代码确实适用于上载文件,但不限制文件大小。此外,我认为PHP有一个内置的最大上传文件大小。有了这段代码,我甚至可以上传一个31.4MB.mp4文件。代码如下: <?php $max = 2000 * 1024; $message = ''; if (isset($_POST['upload'])) { $destination = _

我想限制可以上传到远程服务器的图像的文件大小。我写了下面的代码,允许我成功上传文件,在我的图像库中运行良好

但是,我想将文件大小限制在2MB左右。此代码确实适用于上载文件,但不限制文件大小。此外,我认为PHP有一个内置的最大上传文件大小。有了这段代码,我甚至可以上传一个31.4MB.mp4文件。代码如下:

<?php 
$max = 2000 * 1024;
$message = '';
if (isset($_POST['upload'])) {
    $destination = __DIR__ . '/_images/';
    if ($_FILES['filename']['error'] == 0) {
        $result = move_uploaded_file($_FILES['filename']['tmp_name'], $destination 
            . $_FILES['filename']['name']);
        if ($result) {
            $message = $_FILES['filename']['name'] ;
        } else {
            $message = 'Sorry, there was a problem uploading ' 
                .$_FILES['filename']['name'];
        }
    } else {
        switch ($_FILES['filename']['error']) {
            case 2:
                $message = $_FILES['filename']['name'] . ' is too big to upload.';
                break;
            case 4:
                $message = 'No file selected.';
                break;
            default:
                $message = 'Sorry, there was a problem uploading ' 
                    .$_FILES['filename']['name'];
                break;
        }
    }
}
?>

1在apache中设置限制2在php.ini中设置限制3检查代码是否超过限制。在文件输入之前。非常感谢!这是有效的:。这是教程所指示的:@AbraCadaver这是最糟糕的选择-Marc建议的三件事中的任何一件都会更好。如果要使用在客户端设置的解决方案,最好在选择文件后立即使用文件API从输入元素检查文件大小。这样,你根本不必等待——用户一选择文件就知道它太大了。