PHP函数ob_start()的详细用法介绍说明

ob_start() 函数用于打开缓冲区,比如 header() 函数之前如果就有输出,包括回车、空格、换行都会有“Header had all ready send by”的错误,这时可以先用 ob_start() 打开缓冲区PHP代码的数据块和 echo() 输出都会进入缓冲区而不会立刻输出。当然打开缓冲区的作用很多,只要发挥你的想象。

可以总结以下四点:

1、用于header()之前

<?php
ob_start(); //打开缓冲区
echo /"Hellon/"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>
2、phpinfo() 函数可获取客户端和服务器端的信息,但要保存客户端信息用缓冲区的方法是最好的选择。

<?php
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
?>
3、静态页面技术

<?php
ob_start();//打开缓冲区
?>

php页面的全部输出

<?php
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后……
fclose($fp);
?>

4、输出代码

Function run_code($code) {
	If($code) {
		ob_start();
		eval($code);
		$contents = ob_get_contents();
		ob_end_clean();
	}else {
		echo "错误!没有输出";
		exit();
	}
	return $contents;
} 
关键词: php php教程