php中ob(Output Buffer 输出缓冲)函数使用方法


Posted in PHP onJuly 21, 2007

来自:http://bbs.phome.net/ShowThread/?threadid=9247&forumid=2 
在PHP编程中,  我们经常会遇到一些直接产生输出的函数,  如passthru(),readfile(),  var_dump()  等.  但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出,  或者把这些函数的输出作为字符串来处理.   
这时我们就要用到  Output  Buffer(输出缓冲)  函数了.   

处理输出缓冲的函数主要有这么几个:   
ob_start()  开始输出缓冲,  这时PHP停止输出,  在这以后的输出都被转到一个内部的缓冲里.   

ob_get_contents()  这个函数返回内部缓冲的内容.  这就等于把这些输出都变成了字符串.   

ob_get_  length()  返回内部缓冲的长度.   

ob_end_flush()  结束输出缓冲,  并输出缓冲里的内容.  在这以后的输出都是正常输出.   

ob_end_clean()  结束输出缓冲,  并扔掉缓冲里的内容.   

举个例子,  var_dump()函数输出一个变量的结构和内容,  这在调试的时候很有用.   
但如果变量的内容里有  <  ,  >  等HTML的特殊字符,  输出到网页里就看不见了.  怎么办呢?   
用输出缓冲函数能很容易的解决这个问题.   

ob_start();   
var_dump($var);   
$out  =  ob_get_contents();   
ob_end_clean();   

这时var_dump()的输出已经存在  $out  里了.  你可以现在就输出:   

echo  '<pre>'  .  htmlspecialchars($out)  .  '</pre>'  ;   

或者等到将来,  再或者把这个字符串送到模板(Template)里再输出.  

PHP 相关文章推荐
15种PHP Encoder的比较
Mar 06 PHP
php学习笔记 面向对象的构造与析构方法
Jun 13 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
解析linux下安装memcacheq(mcq)全过程笔记
Jun 27 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
php 实现301重定向跳转实例代码
Jul 18 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
在普通HTTP上安全地传输密码
Jul 21 #PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 #PHP
PHP+FLASH实现上传文件进度条相关文件 下载
Jul 21 #PHP
一段php加密解密的代码
Jul 16 #PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 #PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 #PHP
PHP如何编写易读的代码
Jul 10 #PHP
You might like
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
Python学习小技巧总结
2018/06/10 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
Python面向对象进阶学习
2019/05/21 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
工商局副局长个人对照检查材料
2014/09/25 职场文书
法定代表人资格证明书
2015/06/18 职场文书
企业安全生产检查制度
2015/08/06 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS