如何在php中限制表单提交时的文件上载大小

如何在php中限制表单提交时的文件上载大小,php,forms,file-upload,Php,Forms,File Upload,我有一个表单,我想允许文件大小等于或小于50MB。但是当我上传一个1.60MB的文件时,它会说最大文件大小请上传更少。有什么建议吗 文件大小为1.60 MB,如果打印文件数组,则显示大小为1686220 // Attempt 1 if (!filesize($file_path) < 50000) { // max file size limit reached } // Attempt 2 if (!$file['size'] < 50000) { // max fi

我有一个表单,我想允许文件大小等于或小于50MB。但是当我上传一个1.60MB的文件时,它会说最大文件大小请上传更少。有什么建议吗

文件大小为1.60 MB,如果打印文件数组,则显示大小为1686220

// Attempt 1

if (!filesize($file_path) < 50000) {
  // max file size limit reached
}

// Attempt 2

if (!$file['size'] < 50000) {
  // max file size limit reached
}
//尝试1
如果(!filesize($file\u path)<50000){
//已达到最大文件大小限制
}
//尝试2
如果(!$file['size']<50000){
//已达到最大文件大小限制
}

您也可以在提交样本之前使用
jquery
执行此操作:

    <form action="upload" enctype="multipart/form-data" method="post">

        Upload image:
        <input id="image-file" type="file" name="file" />
        <input type="submit" value="Upload" />

        <script type="text/javascript">
            $('#image-file').bind('change', function() {
                alert('This file size is: ' + this.files[0].size/1024/1024 + "MB");
            });
        </script>

    </form>

上载图像:
$(“#图像文件”).bind('change',function(){
警报('此文件大小为:'+This.files[0].size/1024/1024+“MB”);
});
使用PHP:

if (isset ( $_FILES['file'] ) ) {

    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];

    if (($file_size > 50*1024*1024)){      
        $message = 'File too large. File must be less than 50 MB.'; 
        echo '<script type="text/javascript">alert("'.$message.'");</script>'; 
    }
}
if(isset($\u文件['file'])){
$file\u size=$\u FILES['file']['size'];
$file\u type=$\u FILES['file']['type'];
如果($file_size>50*1024*1024)){
$message='文件太大。文件必须小于50 MB';
回显“警报”(“.$message.”);
}
}

根据web服务器的不同,您可能还需要单独进行配置。例如:nginx具有
client\u max\u body\u size
设置。我不想编辑php.ini文件。我想检查提交表单时的文件大小。这很有效,谢谢。你能解释一下你在PHPONE上做了什么,我做错了什么吗?再次感谢。@KevinJ请检查您的小于符号,它应该大于…:)