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

标签 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?

最佳答案

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

关于javascript - 为什么 post_max_size 和/或 upload_max_filesize 限制被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34337729/

相关文章:

javascript - 上传 CSV 文件并在 Bokeh Web 应用程序中阅读

javascript - Knockout JS 使用 javascript 类型从服务器数据初始化可观察数组

javascript - 如何在 Handsontable 上进行条件格式化?

php - 我没有从 mysql - PHP 获取所有数据

java - YouTube 上传错误 - 上传失败 : Can't process file

select - phonegap选择音频文件并将其上传到服务器

javascript - 在 Window 8 商店应用程序中垂直滚动

javascript - 从 JavaScript 中的 iframe 获取跨度

php - MYSql 准备不接受我的请求 : No tables used

php - 尝试按公共(public)值对 TR 行进行分组