我将以下疯狂片段作为ob_start功能的试验场。
ob_start();
for ($i = 1; $i <= 100000000; $i++) {
echo '<li>',$i, ' ',date("H:i:s");
ob_flush();
}
我等了几分钟才能看到屏幕上的内容。 几分钟,我看一个空白页面,状态信息“等待www.myserver.com”,浏览器标题上有“loading ...”消息。
是不是ob_flush来防止这种行为?
您对上述代码段做了什么,以便在运行时,您可以在浏览器上获得即时文本流?
答案 0 :(得分:1)
添加行
flush();
之后
ob_flush();
诀窍。浏览器立即显示输入,您将获得流式文本,直到整个事件转储到浏览器或脚本上超时。
不要试试这个小单位,否则会造成很多带宽。
有没有人知道为什么在ob_flush之后添加flush()会让它发生?
注意,只有没有ob_flush()的flush()或没有flush()的ob_flush()不起作用。