php缓冲输出实例分析

网络整理 - 07-23

ob_start([string output_callback])- 打开输出缓冲区

所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息.

ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区

实例代码如下:

代码如下:ob_start();          //打开缓冲区
echo "hello world";        //输出内容
$out=ob_get_clean();       //获得缓冲区内容并且结束缓冲区
$out=strtolower($out);       //将字符转换为小写
var_dump($out);        //输出结果
//
 
if(!function_exists('ob_clean'))      //判断函数是否被定义
{
  function ob_clean()       //定义函数
  {
    if(@ob_end_clean())
    {
      return ob_start();
    }
    trigger_error("ob_clean() failed to delete buffer.no buffer to delete.",e_user_notice);
    return false;
  }
}
//
 
header('content-type: multipart/x-mixed-replace;boundary=endofsection');  //发送标头
print "n--endofsectionn";           //输出内容
$pmt=array("-","","|","http://www.xue163.com/");           //定义数组
for($i=0;$i<10;$i++)            //通过循环进行操作
{
  sleep(1);             //暂停执行
  print "content-type: text/plainnn";         //输出内容
  print "part $it".$pmt[$i % 4];          //输出内容
  print "--endofsectionn";           //输出内容
  ob_flush();             //发送缓冲区数据
  flush();              //刷新输出缓冲
}
print "content-type: text/plainnn";         //输出内容
print "the endn";            //输出内容
print "--endofsection--n";           //输出内容