上传几个文件的jquery虽然足够小,但仍超过post_max_size

时间:2016-02-23 15:59:56

标签: php jquery upload

上传20个大约5MB的文件时,我收到以下错误:

  

POST内容长度13820516字节超过第0行未知的8388608字节限制

限制是正确的,因为'post_max_size'设置为8M。

我不想按顺序更改限制。我想找出为什么我的内容长度几乎是我实际上传的内容的3倍。

以下是代码:

jQuery('#uploadForm').submit(function() { // once the form us submitted
    // server limits:
    var max_files = <?php echo ini_get('max_file_uploads'); ?>;
    var max_size = <?php echo unc_tools_bytes_get(ini_get('post_max_size')); ?>;

    var fileInput = jQuery("input[type='file']").get(0);
    var actual_count = parseInt(fileInput.files.length);

    var actual_size = 0;
    for (var i = 0; i < fileInput.files.length; i++) {
        var file = fileInput.files[i];
        if ('size' in file) {
            actual_size = actual_size + +file.size;
        }
    }

    // check for max file number

    if (actual_count > max_files) {
        alert("Your webserver allows only a maximum of " + max_files + " files");
        return false;
    }

    if (actual_size > max_size){
        alert("Your webserver allows only a maximum of " + max_size + " Bytes, you tried " + actual_size);
        return false;
    }
    jQuery(this).ajaxSubmit(options);  // do ajaxSubmit with the obtions above
    return false; // needs to be false so that the HTML is not actually submitted & reloaded
});

服务器限制正确返回:

var max_files = 20;
var max_size = 8388608;

如果我将“if(actual_size&gt; max_size){”移开并让警报触发,它甚至会说:

  

您的网络服务器最多只允许8388608字节,您尝试过5841547

我正在使用jpg文件。我尝试了不同大小的许多不同文件,当我使用20个文件时总是一样。

upload_max_filesize是2M,我尝试上传的文件都低于1M。

如果我尝试在较少但较大的文件中上传5M,我就没有这个问题。 知道为什么以及如何解决这个问题?

0 个答案:

没有答案