解析PHP中ob_start()函数的用法


Posted in PHP onJune 24, 2013

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

1.用于header()之前
ob_start(); //打开缓冲区
echo /"Hellon/"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>

2.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
?>

3.静态页面技术
ob_start();//打开缓冲区
?>
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 动态多文件上传
Jan 18 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
php分页思路以及在ZF中的使用
May 30 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
php二维数组排序详解
Nov 06 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
学习php设计模式 php实现访问者模式(Visitor)
Dec 07 PHP
Yii实现简单分页的方法
Apr 29 PHP
Yii2框架使用计划任务的方法
May 25 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 #PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 #PHP
解析crontab php自动运行的方法
Jun 24 #PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 #PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 #PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
Jun 24 #PHP
PHP中的函数-- foreach()的用法详解
Jun 24 #PHP
You might like
一个php作的文本留言本的例子(三)
2006/10/09 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
Python中的迭代器漫谈
2015/02/03 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
法学个人求职信范文
2014/01/27 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
赔偿协议书范本
2014/04/15 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
Redis三种集群模式详解
2021/10/05 Redis
Golang 入门 之url 包
2022/05/04 Golang