2

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

4

4 回答 4

7

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

所以像:

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

希望这可以帮助。

于 2009-05-14T13:32:30.677 回答
1

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

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

浏览器将在 3 秒后刷新。如果你问我,这可能有点意思 =) 包含 AJAX 解决方案会更好,但它至少可以在没有太多 JavaScript 工作的情况下工作。

于 2009-05-14T13:23:31.370 回答
1

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

于 2009-05-14T21:25:01.230 回答
-1

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

于 2009-05-14T13:15:51.327 回答