使用session.upload_progress上传进度条

时间:2018-04-12 05:38:39

标签: php html session

使用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

1 个答案:

答案 0 :(得分:0)

首先:

请查看你的php.ini文件是否启用了上传进度

session.upload_progress.enabled = On

然后,如果问题仍然存在

在构建$ key时尝试使用以下内容

$key = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];