如何在脚本执行完成之前输出到浏览器?
例如,下面的代码将一次输出所有 100 个“hi”,我该如何让它在读取/处理该部分代码后立即输出?例如:PHPBB3 论坛一步步展示安装过程。
<?php
for ($i = 0; $i <= 100; $i++) {
echo "hi";
echo "<br>";
}
?>
最佳答案
在循环之前调用 ob_implicit_flush()。
请注意,这不是保证(网络服务器缓冲区、代理缓冲区和拒绝重新呈现的网络浏览器是您的敌人)。回显一些换行符 (\n) 可能会有所帮助,因为我似乎记得有些浏览器在收到完整的行之前不会重新呈现。
如果您使用输出缓冲(例如,使用 gzip 进行压缩(如果您使用的 gzip 模块使用缓冲,这并不罕见)或其他原因,这将根本不起作用)。
关于php - 如何实时回显输出(在脚本完成之前)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906816/