如何在脚本仍在执行时在PHP中回显?

时间:2011-02-15 23:25:47

标签: php

我用PHP开发了一个facebook应用程序。问题是显示结果需要2分钟。这可能会使看到空白画布并离开的用户感到困惑。

我只是想回应它仍在处理的声明。

我试过flush();和ob_flush();和ob_start();但是没用。

还有其他更简单的替代方案来解决我的具体问题吗?

我尝试了这个,但它也没有用。

ob_implicit_flush(true);
ob_end_flush();

for ($i=0; $i<5; $i++) {
   echo $i.'<br>';
   sleep(1);
}

编辑:

以上代码与IE和其他浏览器完美配合。 只有Chrome有这个问题。

2 个答案:

答案 0 :(得分:2)

将其转换为AJAX请求,您可以在其中加载可以包含任何内容的快速页面,然后在后台加载来自较慢页面的数据。

flush()将不会执行您想要的操作,因为它只返回部分输出,客户端将倾向于等待整个页面。

答案 1 :(得分:0)

调用flush();根据需要经常使用。

不幸的是,这可能会或可能不会使浏览器感到高兴显示您的内容。即使在IE上,结果也是不可预测的。