PHP documentation没有解释当同一会话中同时上传两个文件时会发生什么情况(在浏览器的两个选项卡中运行两个上传文件)。
有没有办法跟踪上传的进度? 当第二个上传状态开始时,第一个上传状态是否会丢失?
谢谢!
答案 0 :(得分:1)
是的,可以使用PHP的会话上传进度功能监控不同选项卡中两个不同上传的状态。您需要做的就是通过更改隐藏的上传进度名称字段的value=""
参数,使两个表单上的上传进度名称不同。
例如,标签1的上传表单可能如下所示:
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="tab1">
<!-- notice the value="tab1" above -->
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input type="file" name="myUploadName" />
<input type="submit" />
</form>
然后,标签2的上传表单可能如下所示:
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="tab2">
<!-- notice the value="tab2" above -->
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input type="file" name="myUploadName" />
<input type="submit" />
</form>
现在您已经创建了两个不同的上传进度会话,您可以在PHP端获取进度数据,如下所示:
$_SESSION['upload_progress_tab1'] // Progress data for tab 1
$_SESSION['upload_progress_tab2'] // Progress data for tab 2
答案 1 :(得分:0)
此示例可能对您有用:
http://www.johnboy.com/php-upload-progress-bar/
您需要一些客户端(JS)代码和一些PHP