注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

牧野流星

每个人心中都有一个梦想..........

 
 
 

日志

 
 

ob_flush输出缓冲区内容  

2014-04-08 13:29:39|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
近期要做一个采集的程序,考虑到边执行程序边输出的效果体验度好一点。
这样的话,就需要用到 ob_flush函数了。
原程序:
        ob_end_clean();     //关键1
        ob_implicit_flush(true);
         echo str_pad('',4096);     //关键2
        // eof 边执行边输出
        $str    = "thisdfsfjslfjslsfslfjslfjslfjslfjslfjsljflsjfdlsjfthisdfsfjslfjslsfslfjslfjslfjslfjslfjsljflsjfdlsjf";
        for($i=1;$i<30;$i++){
            echo $i.$str.$str.$str.$str.'<br>';

        //    flush();    //刷新输出缓冲
            sleep(1);
        }
因为浏览器有个默认缓存,输出值太小的话。就会等值大于缓存的时候再输出。所以 $str的值我设了很长。
正常情况下是没有问题的。
但是我放到了 Thinkphp下运行,失效了。都是程序执行完成后再输出,而不能缓存输出。
又修改了一下代码
        ob_clean();
         echo str_pad('',4096);
        $str    = "thisdfsfjslfjslsfslfjslfjslfjslfjslfjsljflsjfdlsjfthisdfsfjslfjslsfslfjslfjslfjslfjslfjsljflsjfdlsjf";
        for($i=1;$i<30;$i++){
            echo $i.$str.$str.$str.$str.'<br>';
            ob_flush();
            flush();
            sleep(1);
        }

在TP下也可以正常运行了。
  评论这张
 
阅读(36)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018