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引用返回与取消引用的详解
Jun 08 PHP
php多任务程序实例解析
Jul 19 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
Jun 19 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
PHP关键特性之命名空间实例详解
May 06 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 PHP
PHP项目多语言配置平台实现过程解析
May 18 PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 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/03/17 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
js版本A*寻路算法
2006/12/22 Javascript
JQuery 风格的HTML文本转义
2009/07/01 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
js实现双人五子棋小游戏
2020/05/28 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python生成密码字典的方法
2018/07/06 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
Python虚拟环境库virtualenvwrapper安装及使用
2020/06/17 Python
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
建筑安全标语
2014/06/07 职场文书
公民授权委托书
2014/10/15 职场文书
投标售后服务承诺书
2015/04/29 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
深入浅析Django MTV模式
2021/09/04 Python