我在使用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的唯一实现为每个文件输入都有不同的名称,所以我找不到任何解释如何这样做的方法或者如果甚至可以通过这种方式获取所有单个文件。
提前感谢您的任何帮助或指示。