php缓冲输出实例分析
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"; //输出内容