> 백엔드 개발 > PHP 튜토리얼 > ajax+php实现进度显示是怎么实现的

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

WBOY
풀어 주다: 2016-06-06 20:51:46
원래의
1231명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿