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 相关文章推荐
优化NFR之一 --MSSQL Hello Buffer Overflow
Oct 09 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
php 获取远程网页内容的函数
Sep 08 PHP
php is_file 判断给定文件名是否为一个正常的文件
May 10 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
举例讲解PHP面对对象编程的多态
Aug 12 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
Laravel5中Cookie的使用详解
May 03 PHP
PHP实现的函数重载功能示例
Aug 03 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 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循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
苹果Mac升级:MacSales.com
2017/11/20 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
工厂实习感言
2014/01/14 职场文书
交通工程专业推荐信
2014/09/06 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
党员自我评价2015
2015/03/03 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
农贸批发市场管理制度
2015/08/07 职场文书