向客户报告进度的PHP脚本

时间:2009-05-14 13:13:53

标签: php dynamic-data

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

4 个答案:

答案 0 :(得分:7)

您可以使用flush()清除输出缓冲区;

类似于:

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

希望这有帮助。

答案 1 :(得分:1)

也许您可以使用refresh-meta标记或HTTP标头,如下所示:

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

然后浏览器将在3秒后刷新。如果你问我,这可能是一种任何问题=)将AJAX解决方案更好,但它至少可以在没有太多JavaScript工作的情况下工作。

答案 2 :(得分:1)

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

答案 3 :(得分:-1)

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