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 相关文章推荐
global.php
Dec 09 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
Apr 07 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
Yii2数据库操作常用方法小结
May 04 PHP
详解PHP swoole process的使用方法
Aug 26 PHP
php 截取中英文混合字符串的方法
May 31 PHP
PDO::getAttribute讲解
Jan 28 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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/05/31 PHP
定义php常量的详解
2013/06/09 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
php算法实例分享
2015/07/14 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
PDO::errorCode讲解
2019/01/28 PHP
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Windows下Anaconda的安装和简单使用方法
2018/01/04 Python
Linux下python制作名片示例
2018/07/20 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
如何卸载python插件
2020/07/08 Python
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
大学系主任推荐信范文
2013/12/24 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
学生安全承诺书
2014/05/22 职场文书
暑假学习心得体会
2014/09/02 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
python - asyncio异步编程
2021/04/06 Python
关于的python五子棋的算法
2022/05/02 Python