使用session.upload_progress实现了进度条,工作正常几天。 但是现在自从过去2天它没有工作,经过调试发现在进行中.php脚本没有设置$ key。在这里找到解决方案[SO]但无法找到。
progress.php:
session_start();
$key = ini_get("session.upload_progress.prefix") . "uform";
if (!empty($_SESSION[$key])) {
$current = $_SESSION[$key]["bytes_processed"];
$total = $_SESSION[$key]["content_length"];
echo $current < $total ? ceil($current / $total * 100) : 100;
}
else {
echo 80;
}
它只返回80.
形式:
<input type="hidden" value="uform" name="<?php echo ini_get("session.upload_progress.name"); ?>">
<input class="form-control input-lg file" name="presentation" type="file" required /></div>
用js射击进度.php。 Devtools snap:progress response
答案 0 :(得分:0)
首先:
请查看你的php.ini文件是否启用了上传进度
session.upload_progress.enabled = On
然后,如果问题仍然存在
在构建$ key时尝试使用以下内容
$key = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];