我使用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
为什么它是一个大文件时无法发布任何数据?
答案 0 :(得分:2)
检查将影响上传大小限制的服务器配置设置:
使用phpinfo()
查看值
upload_max_filesize
,设置上传文件大小的上限post_max_size
,它限制发布数据的总大小,包括文件数据max_input_time
,它限制允许脚本处理输入数据的时间长度,包括发布的值 upload_max_filesize
是对每个文件的限制;但是,max_post_size
是整个请求的上限,其中包括所有上传的文件。