使用PHP如何在每一定时间内回显内容?

时间:2010-12-25 17:58:58

标签: php buffer

代码:

echo "1";
sleep(1);

echo "2";
sleep(1);

echo "3";

我要做的是让屏幕上的脚本echo“1”等待一秒钟,然后显示“2”等等......因为脚本等待2秒钟,然后将所有内容显示在一个。我所知道的就是它与缓冲有关

3 个答案:

答案 0 :(得分:4)

通过在脚本开头刷新来禁用输出缓冲,并激活隐式输出缓冲区刷新。这应该这样做:

ob_implicit_flush(true);
ob_end_flush();

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

答案 1 :(得分:0)

使用ob_start();结合ob_flush(); flush();捕获输出,定期将其发送到浏览器。

所以你的例子会变成:

ob_start();
echo "1";
ob_flush(); flush();
sleep(1);

echo "2";
ob_flush(); flush();
sleep(1);

// ...

答案 2 :(得分:-1)

我不认为这是做这样事情的优雅方式。这些东西需要在客户端使用javascript而非服务器端使用php完成。