Heim  >  Artikel  >  Backend-Entwicklung  >  ajax+php实现进度显示是怎么实现的

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

WBOY
WBOYOriginal
2016-06-06 20:51:461198Durchsuche

如题,比如我后台要循环一百次,在前台需要一个进度条,实时的显示循环的进度,这个用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进度到前台。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn