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