background image

加上

ob_start,就不会提示出错,原因是当打开了缓冲区,echo 后面的字符不会输出到浏览

器,而是保留在服务器,直到你使用

flush 或者 ob_end_flush 才会输出,所以并不会有任何

文件头输出的错误!

下面再给出一个很经典的用途:
比如你用

<?phpinfo();?>得到服务器和客户端的设置信息,但是这个信息会因为客户端

的不同而不同,如果想要保存

phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可

以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:

代码如下

:

<?

ob_start(); //打开缓冲区
phpinfo(); //使用 phpinfo 函数
?$info=ob_get_contents(); //得到缓冲区的内容并且赋值给?$info
?$file=fopen('info.txt','w'); //打开文件 info.txt
fwrite(?$file,?$info); //写入信息到 info.txt
fclose(?$file); //关闭文件 info.txt
?>

用以上的方法,就可以把不同用户的

phpinfo 信息保存下来,这在以前恐怕没有办法办

到!其实上面就是将一些

“过程”转化为“函数”的方法!