php ob_get_length缓冲与获取缓冲长度

file_get_contents() 函数把整个文件读入一个字符串中,和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串.

file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法,如果操作系统支持,还会使用内存映射技术来增强性能.

语法:file_get_contents(path,include_path,context,start,max_length)

  1. ob_start(); //打开缓冲区
  2. echo "hello"; //输出内容
  3. $out1= ob_get_contents(); //获得缓冲区内容
  4. echo "world"; //输出内容
  5. $out2=ob_get_contents(); //再次获得缓冲区内容
  6. ob_end_clean(); //清空缓冲区,并关闭
  7. echo $out1; //输出第一次获得的结果
  8. echo "<br>"; //开源代码phpfensi.com
  9. echo $out2; //输出第二次获得的结果,以比较

该代码在输出缓冲设置为开启时使用(output_buffering=on)

列出输出头部信息:print_r(ob_list_handlers());

刷新缓冲区数据,返回数据并且关闭缓冲区:$buffer=ob_get_flush();

把缓冲区数据写入文件:file_put_contents('buffer.txt',$buffer);

列出输出头部信息:print_r(ob_list_handlers());

获取缓冲区长度,实例代码如下:

  1. //打开缓冲区
  2. ob_start();
  3. //输出内容
  4. echo "hello ";
  5. //获取缓冲区长度
  6. $len1=ob_get_length();
  7. //再输出内容
  8. echo "world";
  9. //再次获取缓冲区的长度
  10. $len2=ob_get_length();
  11. //清空缓冲区,并关闭缓冲
  12. ob_end_clean();
  13. //输出第一次获取的长度
  14. echo $len1;
  15. echo "<br>";
  16. //输出第二次获取的长度以比较两次不同的结果
  17. echo $len2;