我正在编写一个执行大量重复工作的PHP脚本,当客户端执行它时,我希望它在完成任务时以某种方式动态地发回HTML。 (没有AJAX?)如何做到这一点?
答案 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仅在每个页面请求上运行。