$_FILES在PHP中上传时为空



我使用dropzone.js来处理前端的上传部分,使用JQuery。

http://www.dropzonejs.com/

我的测试案例是:

上传34mb的文件。没问题……
上传一个27mb的文件。没问题……
上传两个文件,每个文件是5mb。
上传两个文件,34mb + 27mb 失败$_FILES为空数组

下面是JQuery代码:
<script>
    $(document).ready(function () {
        Dropzone.options.myAwesomeDropzone = {
            autoProcessQueue: false,
            url: '<?= site_url("admin/video/upload"); ?>',
            addRemoveLinks: true,
            previewsContainer: ".dropzone-previews",
            uploadMultiple: true,
            parallelUploads: 50,
            maxFilesize: 500, //500MB
            acceptedFiles: 'video/*',
            maxFiles: 100,
            init: function () {
                var myDropzone = this;
                myDropzone.on("success", function (file, response) {
                    $("#success, #fail").hide();
                    $("#" + response).show();
                });
                myDropzone.on("maxfilesexceeded", function (file) {
                    this.removeFile(file);
                });
                $("#submit-all").click(function (e) {
                    e.preventDefault();
                    e.stopPropagation();
                    myDropzone.processQueue();
                });
            }
        }
    });
</script>
下面是PHP代码:
public function upload() {
    die(var_dump($_FILES));
}

那么,为什么$_FILES是空的,如何修复它?非常感谢。

34mb + 27mb = 61MB。

所以你要上传61MB。

PHP默认值为upload_max_filesize为2mb, post_max_size为8mb。根据您的主机,更改这两个PHP变量可以在许多地方完成,最有可能的是PHP .ini或.htaccess(取决于您的主机情况)

你检查过这些在你的php.ini吗?

每个上传文件的最大允许大小。

upload_max_filesize = 40M

必须大于或等于upload_max_filesize,这是每次post事件中所有上传文件的总大小。

post_max_size = 40M

如果您想上传的最大文件大小为500mb,那么您可以将上述两个值都设置为500mb。请记住,如果上载多个文件,则post_max_size需要是针对每个post事件上载的文件的组合文件大小。因此,如果您上传了两个500mb的文件,您将设置upload_max_filesize =501M和post_max_size = 1001M

相关内容

  • 没有找到相关文章

最新更新