1

我在使用 session.upload_progress 方法为每次上传创建单独的上传进度条时遇到问题。对于我的多个文件上传,我使用一个数组作为名称,并让用户能够在一个输入或多个文件输入中拥有多个文件输入。

例子:

<input type='file' name='files[]' multiple='true'/>
<input type='file' name='files[]' multiple='true'/>

上传工作正常,但是当我向另一个文件发送 AJAX 请求以获取上传进度时,它只会发回整体进度和正在上传的第一个文件的进度。整体进度显示有更多文件正在上传,但上传进度数组中只显示一个。

发回上传进度的文件看起来像

header('Content-type: application/json');
session_start();

$key = ini_get("session.upload_progress.prefix") . "imageform";

if (!empty($_SESSION[$key])) {
    echo json_encode($_SESSION[$key]);
    exit;
}
exit;

所以当我得到这个回来时,我只会得到整体进度和上传队列中的第一个文件。我确实注意到,该文件的数组中给出的输入字段的名称是“files []”。我想知道它是否必须具有唯一的输入名称字段才能区分单独的文件。

我已经在网上搜索了解决方案,但我发现的 session.upload_progress 的唯一实现对于每个文件输入都有不同的名称,所以我无法找到任何解释如何以这种方式执行此操作的方法,或者如果它是甚至可以通过这种方式获取所有单个文件。

提前感谢您的任何帮助或指导。

4

0 回答 0