【发布时间】:2009-05-14 13:13:53
【问题描述】:
我正在编写一个执行大量重复工作的 PHP 脚本,当客户端执行它时,我希望它在完成任务时以某种方式动态地发回 HTML。 (没有 AJAX?)如何做到这一点?
【问题讨论】:
标签: php dynamic-data
我正在编写一个执行大量重复工作的 PHP 脚本,当客户端执行它时,我希望它在完成任务时以某种方式动态地发回 HTML。 (没有 AJAX?)如何做到这一点?
【问题讨论】:
标签: php dynamic-data
您可以使用 flush(); 刷新输出缓冲区;
比如:
taskOne();
echo 'Task one finished';
flush();
...
希望这会有所帮助。
【讨论】:
也许您可以使用 refresh-meta 标记或 HTTP 标头,如下所示:
header("Refresh: 3; URL=http://www.some.org/some.html");
浏览器将在 3 秒后刷新。如果你问我,这可能有点意思 =) 包含 AJAX 解决方案会更好,但它至少可以在没有太多 JavaScript 工作的情况下工作。
【讨论】:
最好只通过 ajax 轮询服务器。设置一个脚本,可以监控您正在运行的任务并进行轮询。这样,用户的浏览器并不总是处于加载模式,他们可以离开页面并在需要时返回。
【讨论】:
然后你需要刷新站点,因为 PHP 只在每个页面请求上运行。
【讨论】: