如何从PHP获得实时输出?

前端之家收集整理的这篇文章主要介绍了如何从PHP获得实时输出?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从 PHP获得实时输出?没有全部存储在内存/缓冲区中并立即回显浏览器?

如果我创建一个realtime-echo.PHP

<?PHP
for($i = 0; $i < 10; $i++)
{
echo $i;
sleep(1);
}

并从互联网浏览器访问它,它在9-10秒后提供以下输出.

0123456789

但我愿意输出的是,当我从浏览器访问PHP文件时应该给出

0

然后等待1秒然后在“0”后加“1”
然后等待1秒然后在“1”后加“2”
等等.

idk是什么叫做动画/实时.

怎么做到这一点?

我正在研究我需要恒定输出的项目,所以我可以留意发生的事情和它的发展方向.

谢谢

如果希望显示当前输出,请使用 flush()功能.

一个简单的例子:

<?PHP
for ($i = 1; $i <= 10; $i++)
{
   echo '<p>' . $i . '</p>';
   flush();
   sleep(1);
}
?>

如果您正在使用输出缓冲,则还需要调用ob_flush()

注意:某些版本的Microsoft Internet Explorer仅在收到256字节输出后才开始显示页面,因此您可能需要在刷新之前发送额外的空格以使这些浏览器显示页面.

像这样的东西:

<?PHP
echo str_repeat(" ",256); 
flush();
?>

工作示例(没有ob_start()函数):

<?PHP
echo str_repeat(" ",256);
for ($i = 1; $i <= 10; $i++)
{
    sleep(1);
    echo '<p>' . $i . '</p>';
    flush();
}
?>

猜你在找的PHP相关文章