【发布时间】:2016-09-26 03:21:38
【问题描述】:
我遇到了一个与 PHP 文件上传有关的问题。我正在尝试使用 AJAX 提交表单。此 ajax 请求包含文本变量和文件。当我尝试只发送一个文件时,一切正常,但如果我发送多个文件。我收到 413 Request Entity Too Large 错误。我正在使用 Apache 。这是我的代码
const data = new FormData();
data.append('name', 'my upload file');
for (const i = 1; i <= 4; i++) {
const img = $(`#src${i}`).find('img').attr('src');
data.append(`image${i}`, img || '');
}
$.ajax({
type: "POST",
url: "server.php",
data: data,
cache: false,
processData: false,
contentType: false,
success: (result) => {
console.log(1);
}
});
我上传的所有文件都小于 700KB,我还使用 ini_get_all() 检查了 PHP 配置,发现 post_max_size 是 48MB , upload_max_filesize 是 32MB 。我不明白这个问题的原因是什么。
为了检查我是否超过了允许的上传限制,我添加了四个文件(每个文件有 10KB),但它也产生了同样的问题,而我能够发送一个 400KB 的文件。有什么方法可以确定这个问题的根本原因。
【问题讨论】: