如何实时回显输出(脚本完成之前)?

fas*_*boy 3 php foreach

如何在脚本完成执行之前输出到浏览器?

例如,下面的代码将同时输出所有100"hi",如何进行输出,以便在读取/处理该部分代码时立即输出?例如:PHPBB3论坛逐步显示安装过程.

<?php
for ($i = 0; $i <= 100; $i++) {
   echo "hi";
   echo "<br>";
}
?>
Run Code Online (Sandbox Code Playgroud)

yan*_*kee 5

在循环之前调用ob_implicit_flush().

请注意,这不是保证(拒绝退回的Web服务器缓冲区,代理缓冲区和Web浏览器是您的敌人).它可能有助于回应一些换行符(\n),因为我似乎记得有些浏览器在收到完整的行之前不会重新渲染.

如果您使用输出缓冲(例如,使用gzip进行压缩(如果您使用的gzip模块使用非常罕见的缓冲)或其他原因,则根本不起作用).

  • 或者只是在循环中调用flush(). (2认同)