【发布时间】:2021-08-02 11:15:48
【问题描述】:
我的问题非常相似 Similar Question
我尽了最大努力,最后,我在这里发布了我的查询。希望能解决以下问题。
问题 我正在尝试通过 php 上传多个文件。 但是在 $_FILES 数组中获取一个文件。
其他元数据
- php.ini 配置。 file_uploads = 开启
- php.ini 配置。 upload_max_filesize = 2M
- php.ini 配置。 max_file_uploads = 20
- PHP 版本 8
- 错误日志中没有错误
index.html
//^Ajax to upload file
function jx_ajax_upload_file(xData) {
return $.ajax({
url: "php.php",
type: "post",
data: xData,
cache: false,
contentType: false,
processData: false,
async: true,
});
}
//Ajax Error Message
function error() {
console.log("connection error");
}
// Submit Button
document.querySelector("#submit").addEventListener("click", () => {
let loadedFiles = document.querySelector("#los").files;
let filesCount = loadedFiles.length;
if (filesCount == 0) return;
var dataToPhp = new FormData();
for (let i = 0; i < filesCount; i++) {
dataToPhp.append("xxx", loadedFiles[i]);
}
jx_ajax_upload_file(dataToPhp).done(los_helper).fail(error);
function los_helper(data) {
console.log(data);
}
});
<!DOCTYPE html>
<html>
<head>
<title>Multi File Upload</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<input id="los" type="file" multiple="multiple" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
<button id="submit">Submit</button>
</body>
</html>
php.php
<?php
print_r ($_FILES);
?>
【问题讨论】:
-
将文件添加到表单时,尝试使用
"xxx" + i添加,为每个文件指定一个唯一的名称。 -
谢谢 Nigel Ren。问题解决了。