Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。

<?php
// 打开缓冲区,这个一定要写到输出的最前方
ob_start();
echo "不要显示";
ob_end_clean();
echo "只要显示这";
?>

输出结果:

只要显示这

Output Control 函数还可以做什么?

header()函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错:”Header had all ready send by”。

原因:当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用 flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误!

<?php
ob_start();

echo \"Hellon\"; 

//把浏览器重定向到index.php
header("location:index.php"); 

ob_end_flush();
?>

Output Control 函数介绍

flush:刷新缓冲区的内容,输出。

ob_start :打开输出缓冲区。

ob_get_contents :返回内部缓冲区的内容。

ob_get_length:返回内部缓冲区的长度。

ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。

ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区。

ob_implicit_flush:打开或关闭绝对刷新。

作者 admin

百度广告效果展示