繁体   English   中英

在PHP上传时,$ _FILES为空

[英]$_FILES is empty when upload in PHP

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

http://www.dropzonejs.com/

我的测试案例是:

上传34 MB文件。 工作良好...
上传27 MB文件。 工作良好...
上传两个文件,每个文件为5 MB。 工作良好...
上传两个文件,34 MB + 27 MB。 失败$_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是空的以及如何解决它? 非常感谢。

34 MB + 27 MB = 61 MB。

所以你会发布61MB。

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

你有没有在php.ini中检查过这些?

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

upload_max_filesize = 40M

必须大于或等于upload_max_filesize,这是每个帖子事件上所有上传文件的总大小。

post_max_size = 40M

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM