0

我正在使用 jQuery 的 ajax 上传文件

$("#transfer").live("click", function()
{
    var data = new FormData();

    data.append("your_email", $("#your_email").val());
    data.append("your_message", $("#your_message").val());

    $.each($(".friends_email_item"), function(a,b)
    {
        var email = $(b).text();

        data.append("emails[]", email);
    });

    for(i = 0; i < files.length; i++)
        data.append("files[]", files[i]);

    $.ajax({
        url: "upload.php", 
        type: "POST",

        success: function(a)
        {
            console.log(a);
        },

        data: data,

        contentType: false,
        processData: false
    });
});

当我选择文本文件或屏幕截图等小文件时。我得到发布的数据和发布的文件的转储。

array
  'your_email' => string 'Hello@test.com' (length=14)
  'your_message' => string 'test' (length=7)

array
  'files' => 
    array
      'name' => 
        array
          0 => string '1.png' (length=5)
      'type' => 
        array
          0 => string 'image/png' (length=9)
      'tmp_name' => 
        array
          0 => string 'C:\wamp\tmp\phpBD32.tmp' (length=23)
      'error' => 
        array
          0 => int 0
      'size' => 
        array
          0 => int 117994

当我上传 50mb zip 或 500mb 视频时,我得到一个空数组

array
  empty

array
  empty

为什么当它是一个大文件时无法发布任何数据?

4

1 回答 1

3

检查会影响上传大小限制phpinfo()的服务器配置设置:用于查看值

upload_max_filesize是对每个单独文件的限制;但是,post_max_size是整个请求的上限,包括所有上传的文件。

于 2013-04-11T20:14:49.657 回答