实时向客户端输出数据(例如1秒输出一行) 要注意的两个问题

来源:互联网 发布:java参数&传递 编辑:程序博客网 时间:2024/04/19 22:51
<?phpif (ob_get_level() == 0) {    ob_start();    }for ($i = 0; $i<20; $i++){        echo "<br>$i Line to show.";        echo str_pad('',4096)."\n";  //这里主要解决有的浏览器缓存机制的问题 如果没有达到浏览器的缓存,就补充空白以达到最大的缓存        ob_flush();        flush();        //sleep(2);        usleep(50000);}echo "Done.";ob_end_flush();

这里要注意两方面的问题:


一) 有的浏览器缓存机制的问题。 这里就需要 用 

echo str_pad('',4096)."\n"; 


二)Apache 服务器配置问题

有的服务器配置了 压缩缓存, 例如打开了 mode_defleat.so ,这样的话,缓存就算flush了,也是到了服务器配置的压缩缓存里。


原创粉丝点击