【问题标题】:How to limit file upload size on form submission in php [duplicate]如何在php中限制表单提交的文件上传大小[重复]
【发布时间】:2020-07-03 00:54:26
【问题描述】:

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

文件大小为 1.60 MB,如果我打印文件数组,它显示 size = 1686220

// Attempt 1

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

// Attempt 2

if (!$file['size'] < 50000) {
  // max file size limit reached
}

【问题讨论】:

  • 根据 Web 服务器,您可能还需要单独配置。例如:nginx 有client_max_body_size 设置。
  • 我不想编辑 php.ini 文件。我想在提交表单时检查文件大小。

标签: php forms file-upload


【解决方案1】:

您也可以在提交之前使用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>

使用 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>'; 
    }
}

【讨论】:

  • 它有效,谢谢。你能解释一下你在 php 一上做了什么以及我做错了什么吗?再次感谢。
  • @KevinJ 请检查您的小于符号它应该大于... :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 2017-01-27
  • 2012-02-27
相关资源
最近更新 更多