代码之家  ›  专栏  ›  技术社区  ›  Robin Rodricks

向客户端报告进度的PHP脚本

  •  2
  • Robin Rodricks  · 技术社区  · 16 年前

    我正在编写一个执行大量重复工作的PHP脚本,当客户端执行它时,我希望它在完成任务时以某种方式动态地发送回HTML。(没有Ajax?)怎么能做到?

    4 回复  |  直到 16 年前
        1
  •  7
  •   Wez    16 年前

    可以使用flush()刷新输出缓冲区;

    比如:

    taskOne();
    echo 'Task one finished';
    flush();
    ...
    

    希望这有帮助。

        2
  •  1
  •   Thorbjørn Hermansen    16 年前

    也许您可以使用refresh meta tag或http header,如下所示:

    header("Refresh: 3; URL=http://www.some.org/some.html");

    浏览器将在3秒钟后刷新。如果你问我,这可能有点随意()包含一个Ajax解决方案会好得多,但它至少可以在没有太多Javascript工作的情况下工作。

        3
  •  1
  •   rojoca    16 年前

    您最好通过Ajax来轮询服务器。设置一个脚本,该脚本可以监视正在运行的任务并对其进行轮询。这样,用户的浏览器就不总是处于加载模式,如果需要,他们可以离开页面返回。

        4
  •  -1
  •   Ólafur Waage    16 年前

    然后您需要刷新站点,因为PHP只在每个页面请求上运行。

    推荐文章