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入门源程序
Oct 09 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
用PHP代码给图片加水印
Jul 01 PHP
PHP中如何防止外部恶意提交调用ajax接口
Apr 11 PHP
Smarty保留变量用法分析
May 23 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP数组对象与Json转换操作实例分析
Oct 22 PHP
PHP如何获取Cookie并实现模拟登录
Jul 16 PHP
PHP实现爬虫爬取图片代码实例
Mar 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 图片上传代码
2011/09/13 PHP
优化PHP程序的方法小结
2012/02/23 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
PHP可变函数学习小结
2015/11/29 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
Javascript base64编码实现代码
2011/12/02 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
Vue自定义指令详解
2017/07/28 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
荷兰电脑专场:Paradigit
2018/05/05 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
质量保证书
2015/01/17 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
开学第一周值周总结
2015/07/16 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
Angular CLI发布路径的配置项浅析
2021/03/29 Javascript
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP