2016-11-30 74 views
0

今天我必须使用进度条来处理我的PHP脚本。PHP - 用于长时间加载脚本的JS的进度条

其我的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> 

一切都将是巨大的,但是当我看到现场的我的源代码有例如:

$反= 100; =〜300行的源代码

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

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

+0

你真的在页面中插入脚本100次吗? – Hackerman

+0

XD。你不能这样做,你需要使用ajax,如果你想显示一个进度条/一个微调器,而加载的东西... – n00dl3

+0

不,我加'100'只是例如 – limakg

回答

0

PHP是不适合放置进度条的正确语言。 PHP一次执行所有内容,然后一次将其数据发送给客户端。

你可以做的大部分是检测到“就绪状态”,这会为你的进度条提供4或5个值。

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

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