function addAiFile(order_id) {
var data = new FormData();
data.append('order_id', order_id);
jQuery.each(jQuery('.ai-file_upload')[0].files, function(i, file) {
data.append('file-'+i, file);
});
var url='<?php echo $addAiFile; ?>';
url=url.replace(/amp;/g, '');
console.log(...data)
jQuery.ajax({
url: url,
data: data,
cache: false,
processData: false,
method: 'POST',
type: 'POST', // For jQuery < 1.9
success: function(answer){
$('#ai-modal .modal-body').html(answer);
}
});
}
在前端,当我触发这个function时,我得到了正确的日志结果。
但在后端,我的$u文件数组是空的。这种情况只发生在一些文件上,我找不到触发这种情况的原因。
这是我的代码:
public function addAiFile(){
$target_dir = "./";
$target_file = $target_dir . basename($_FILES["file-0"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
echo $target_file;
print_r($_FILES);
echo "
" . $_SERVER['CONTENT_LENGTH']/1000000 ;
echo "
" . ini_get('post_max_size');
echo "
" . ini_get('upload_max_filesize');
print_r(pathinfo($target_file));
die();
}
如果出现错误,php将打印以下内容:
./-0.数组()
8000万
80M数组([dirname]=>/[basename]=>-0。
如果文件没有错误,我会得到这个
./oaid.png数组([file-0]=>数组([name]=>oaid.png[type]=>
图像/png[tmp_name]=>/tmp/php57HOx7[错误]=>0[大小]=>16554)
)
0.016836个
8000万
[扩展名]=>png[文件名]=>oaid)
我想在这里发布一个文件作为例子,但它是30mb。另外,需要注意的是,这种情况只发生在某些文件上。
我该怎么解决?