如何在脚本完成执行之前输出到浏览器?
例如,下面的代码将同时输出所有100"hi",如何进行输出,以便在读取/处理该部分代码时立即输出?例如:PHPBB3论坛逐步显示安装过程.
<?php
for ($i = 0; $i <= 100; $i++) {
echo "hi";
echo "<br>";
}
?>
Run Code Online (Sandbox Code Playgroud)
在循环之前调用ob_implicit_flush().
请注意,这不是保证(拒绝退回的Web服务器缓冲区,代理缓冲区和Web浏览器是您的敌人).它可能有助于回应一些换行符(\n),因为我似乎记得有些浏览器在收到完整的行之前不会重新渲染.
如果您使用输出缓冲(例如,使用gzip进行压缩(如果您使用的gzip模块使用非常罕见的缓冲)或其他原因,则根本不起作用).