当前位置:首页 > PHP教程 > php应用 > 列表

php ob_flush flush 输出缓存实例与说明

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-19 21:53:49 浏览: 评论:0 

使用ob_flush()前,确保前面的内容大小足够4069字符,一些Web服务器的output_buffering默认是4069字符或者更大,即输出内容必须达到4069字符服务器才会flush刷新输出缓冲,为了确保flush有效.

php ob_flush flush 输出缓存实例与说明,实例代码如下:

  1. */ 
  2. ob_flush();  
  3. // 
  4. flush(); 
  5. // 
  6. function flush (){ 
  7.     echo(str_repeat(' ',256)); 
  8.     // check that buffer is actually set before flushing 
  9.     if (ob_get_length()){             
  10.         @ob_flush(); 
  11.         @flush(); 
  12.         @ob_end_flush(); 
  13.     }     
  14.     @ob_start(); 
  15.  
  16. //str_repeat(string,repeat)  把字符串重复指定的次数。 

实例二,代码如下:

  1. @apache_setenv('no-gzip', 1); 
  2.     @ini_set('zlib.output_compression', 0); 
  3.     @ini_set('implicit_flush', 1); 
  4.     for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); } 
  5.     ob_implicit_flush(1); 
  6. //开源软件:phpfensi.com 

使用注意事项:

flush和ob_flush的使用上有一些特别容易犯错的地方,造成无法刷新输出缓冲.

一. flush和ob_flush的正确顺序,正确应是,先ob_flush再flush,以下为引用的内容:

ob_flush();

flush();

如果web服务器的操作系统是windows系统,那顺序颠倒或者不使用ob_flush()也不会出现问题,但是在linux系统上就无法刷新输出缓冲.

二. 使用ob_flush()前,确保前面的内容大小足够4069字符.

一些web服务器的output_buffering默认是4069字符或者更大,即输出内容必须达到4069字符服务器才会flush刷新输出缓冲,为了确保flush有效.

Tags: ob_flush flush输出缓存

分享到: