Javascript 为什么post_max_大小和/或upload_max_文件大小限制被忽略?

Javascript 为什么post_max_大小和/或upload_max_文件大小限制被忽略?,javascript,php,upload,Javascript,Php,Upload,我目前正在处理文件上传,并尝试不同的方法将更大的文件上传到我的服务器 但是我发现并且不理解为什么忽略php.ini的post\u max\u size/upload\u max\u文件大小 我使用下面的代码进行测试,这是可行的,但我不明白为什么php.ini似乎被忽略了 Javascript部分: var reader = new FileReader(); reader.readAsArrayBuffer(file); // alternatively you can use readAsDa

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

但是我发现并且不理解为什么忽略php.ini的post\u max\u size/upload\u max\u文件大小

我使用下面的代码进行测试,这是可行的,但我不明白为什么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);
};
// 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);
PHP部分:

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);
};
// 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_大小限制为8MB,upload_max_文件大小限制为2MB?

我相信
post_max_大小
与允许的最大post数据量有关,然而
upload\u max\u filesize
是上传文件允许的最大大小吗?请检查您的
php.ini
文件,查看其中的值。

我认为
post\u max\u size
与允许的最大post数据量有关,而
upload\u max\u filesize
是允许上传文件的最大大小吗?尝试检查您的
php.ini
文件,查看其中的值。

upload\u max\u filesize=2M和post\u max\u size=8M@Nitro.de您在问题中写道,
post\u max\u大小限制为2MB?
,所以请确定您的post\u max\u大小value@robert修复了php.ini^^@Nitro.de的错误行-如果您运行的是Apache,我知道有一种方法可以在.htaccess文件中设置
upload\u max\u filesize
post\u max\u size
?也许值得研究一下?不幸的是,我对Apache的了解有限,因为我是一个Nginx人…@samuidavid,我来看看。。顺便说一句,我正在运行apacheyesupload\u max\u filesize=2M和post\u max\u size=8M@Nitro.de您在问题中写道,
post\u max\u大小限制为2MB?
,所以请确定您的post\u max\u大小value@robert修复了php.ini^^@Nitro.de的错误行-如果您运行的是Apache,我知道有一种方法可以在.htaccess文件中设置
upload\u max\u filesize
post\u max\u size
?也许值得研究一下?不幸的是,我对Apache的了解有限,因为我是一个Nginx人…@samuidavid,我来看看。。顺便说一句,我在运行Apache是的