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调用mysql存储过程
Feb 14 PHP
实用函数5
Nov 08 PHP
PHP 实现多服务器共享 SESSION 数据
Aug 15 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
PHP引用符&amp;的用法详细解析
Aug 22 PHP
php对称加密算法示例
May 07 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
PHP的PDO常用类库实例分析
Apr 07 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 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多文件上传实例
2015/07/09 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
Javascript常用运算符(Operators)-javascript基础教程
2007/12/14 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
js对象与打印对象分析比较
2013/04/23 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python基于xmlrpc实现二进制文件传输的方法
2015/06/02 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
python实现简单登陆系统
2018/10/18 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
深入学习python多线程与GIL
2019/08/26 Python
Python线程threading模块用法详解
2020/02/26 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
java关于string最常出现的面试题整理
2021/01/18 Python
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
上海期货面试题
2014/01/31 面试题
入党积极分子思想汇报
2014/01/02 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
三八妇女节标语
2014/10/09 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
大国崛起观后感
2015/06/02 职场文书
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL