我有以下疯狂的片段作为ob_start功能的测试场。
ob_start();
for ($i = 1; $i <= 100000000; $i++) {
echo '<li>',$i, ' ',date("H:i:s");
ob_flush();
}
我等了几分钟才在屏幕上看到一些东西。几分钟后,我看着一个空白页面,上面有一条状态消息"等待 www.myserver.com"和"正在加载..."浏览器标题上的消息。
ob_flush不是为了防止这种行为吗?
您对上面的代码片段执行了哪些操作,以便在运行它时,您可以在浏览器上获得即时的文本流?
添加行
flush();
紧接着
ob_flush();
浏览器立即显示输入,你会得到一个流文本,直到整个事情转储到浏览器或脚本超时。
不要尝试此代码段,因为它会浪费大量带宽。
有谁知道为什么在ob_flush之后添加 flush() 会让它发生?
请注意,只有没有 ob_flush() 的 flush() 或没有 flush() 的 ob_flush() 不起作用。