搜尋

首頁  >  問答  >  主體

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

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

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

巴扎黑巴扎黑2842 天前503

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-04-10 13:14:38

    看懂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的不用我给吧?

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-10 13:14:38

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

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

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

    回覆
    0
  • 取消回覆