为什么忽略post_max_size和/或upload_max_filesize限制?

时间:2015-12-17 15:02:34

标签: javascript php upload

我目前正在处理文件上传,并尝试使用不同的方法将更大的文件发送到我的服务器。

但是我发现this answer并且不明白为什么这会忽略php.ini的post_max_size / upload_max_filesize。

我正在使用以下代码进行测试,但是我不明白为什么php.ini似乎被忽略了。

Javascript部分:

var reader = new FileReader();
reader.readAsArrayBuffer(file); // alternatively you can use readAsDataURL

reader.onloadend = function (evt)
{
    // create XHR instance
    xhr = new XMLHttpRequest();

    // send the file through POST
    xhr.open("POST", 'upload.php', true);

    // make sure we have the sendAsBinary method on all browsers
    XMLHttpRequest.prototype.mySendAsBinary = function (text)
    {
        var data = text;

        if(typeof window.Blob == "function")
        {
            var blob = new Blob([data]);
        } 
        else
        {
            var bb = new (window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder)();
            bb.append(data);
            var blob = bb.getBlob();
        }
        this.send(blob);
    }

    // start sending
    xhr.mySendAsBinary(evt.target.result);
};

PHP部分:

// read contents from the input stream
$inputHandler = fopen('php://input', "r");
$buffer = fgets($inputHandler, 4096);

// do some stuff and keep reading with $buffer = fgets($inputHandler, 4096);

所以我的问题是:为什么我的upload.php接收文件大小为几GB,即使post_max_size限制为8MB且upload_max_filesize限制为2MB?

1 个答案:

答案 0 :(得分:0)

我相信post_max_size与允许的最大POST数据量相关,而upload_max_filesize是上传文件的最大允许大小?请尝试检查php.ini文件以查看其中的值。