当前位置:Gxlcms > PHP教程 > ajax+php实现进度显示是怎么实现的

ajax+php实现进度显示是怎么实现的

时间:2021-07-01 10:21:17 帮助过:17人阅读

如题,比如我后台要循环一百次,在前台需要一个进度条,实时的显示循环的进度,这个用php是怎么实现的,请教各位大神,谢谢!

可能有一点没有说明白,实时的进度显示,实在当前脚本执行中,比如上面说的循环100次,那么每次循环都要返回给前台当前的循环次数,再通过js改变进度条长度,以此来实现进度,能实现吗?

回复内容:

如题,比如我后台要循环一百次,在前台需要一个进度条,实时的显示循环的进度,这个用php是怎么实现的,请教各位大神,谢谢!

可能有一点没有说明白,实时的进度显示,实在当前脚本执行中,比如上面说的循环100次,那么每次循环都要返回给前台当前的循环次数,再通过js改变进度条长度,以此来实现进度,能实现吗?

看懂ajax不就知道了…

写个PHP,访问时输出当前的进度百分比。前台javascript发ajax访问这个PHP,解析数字修改前台某元素宽度

这要是看不懂那就没办法只好上个垃圾代码供你参考了

loop.php

for($i=0;$i<1000;$i++){
do_something();
file_put_contents("progress.log",$i);
}
ajax.php

echo file_get_contents("progress.log")

javascript的不用我给吧?

我知道的有三种方式。
一、定期轮训后台进度,不过会产生频繁的ajax请求。
二、使用comet push内容的前台。我以前有做过一种方式。使用一个隐藏的iframe来模拟长连接。然后定期flush脚本到前台改变进度条。

可以参考一些网上的文章:
http://en.wikipedia.org/wiki/Comet_(programming)
http://www.iteye.com/topic/841554

三、尝试下nodejs + socket.io,通过socket.io让后台定期push进度到前台。

人气教程排行