PHP - 使用JS进行长时间加载脚本的进度条

时间:2016-11-30 15:14:31

标签: javascript php html

今天我必须使用进度条来处理我的PHP脚本。

我的php脚本与js进度条。

<?php 

$counter = 100;
for($i = 1; $i<=$counter; $i++)
{
    $percent = intval($i/$counter * 100);

                echo '<script language="javascript">
    document.getElementById("progress").innerHTML="<div style=\"width:'.$percent.';background-color:#ddd;\">&nbsp;</div>";
    document.getElementById("information").innerHTML="'.$i.' row(s) processed.";
    </script>';
}
?>

和html文件:

<div id="progress" style="width:auto;border:1px solid #ccc;"></div>
<div id="information" style="width"></div>

一切都会很棒但是当我查看我的网站源代码时,例如:

$ counter = 100; =源代码中的〜300行

$ counter = 200; =源代码中的〜600行

$ counter = 500; =〜源代码中的1500行

1 个答案:

答案 0 :(得分:0)

PHP不是放置进度条的正确语言。 PHP一次执行所有操作,然后一次性将其数据发送到客户端。

您可以做的最多就是检测“就绪状态”,这会为您的进度条提供4或5个值。

当然你可以假装它。假设进度条响应服务器,而它只是一些计时器

现在,您可以做的是发出多个AJAX请求,每个请求都会触发php来处理300行。但我不确定进度条是否值得这样做。