您的位置:首页 > 其它

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

2011-09-14 15:30 417 查看
<?php
if (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了,也是到了服务器配置的压缩缓存里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐