>  기사  >  백엔드 개발  >  ajax+php实现进度显示是怎么实现的

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

WBOY
WBOY원래의
2016-06-06 20:51:461196검색

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

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

回复内容:

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

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

看懂ajax不就知道了…

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

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

loop.php

for($i=0;$i<pre class="brush:php;toolbar:false">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进度到前台。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.