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 相关文章推荐
快速开发一个PHP扩展图文教程
Dec 12 PHP
PHP 数组入门教程小结
May 20 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
php IP转换整形(ip2long)的详解
Jun 06 PHP
10 个经典PHP函数
Oct 17 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
PHP+JQUERY操作JSON实例
Mar 23 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
php实现多张图片上传加水印技巧
2013/04/18 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
php实现文件预览功能
2017/05/23 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
javascript 跨域问题以及解决办法
2017/07/17 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
python Django框架实现自定义表单提交
2016/03/25 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
python检索特定内容的文本文件实例
2018/06/05 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
python pygame实现2048游戏
2018/11/20 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
python 自定义装饰器实例详解
2019/07/20 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
社区母亲节活动方案
2014/03/05 职场文书
硕士生工作推荐信
2014/03/07 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
春秋淹城导游词
2015/02/11 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python