Output Buffer (输出缓冲)函数的妙用

花露水1981

花露水1981

2016-01-29 13:09

Output Buffer (输出缓冲)函数的妙用,Output Buffer (输出缓冲)函数的妙用

在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的特殊字符, 输出到网页里就看不见了. 怎么办呢?
用输出缓冲函数能很容易的解决这个问题.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

ob_start();
var_dump($var);
$out = ob_get_contents();
ob_end_clean();


这时var_dump()的输出已经存在 $out 里了. 你可以现在就输出:

echo '<pre' . htmlspecialchars($out) . '</pre' ;

或者等到将来, 再或者把这个字符串送到模板(Template)里再输出.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

展开更多 50%)
分享

猜你喜欢

Output Buffer (输出缓冲)函数的妙用

PHP
Output Buffer (输出缓冲)函数的妙用

基于WTL 双缓冲(double buffer)绘图的分析详解

编程语言 网络编程
基于WTL 双缓冲(double buffer)绘图的分析详解

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

GD输出汉字的函数的分析

PHP
GD输出汉字的函数的分析

php中rename()函数的妙用

PHP
php中rename()函数的妙用

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

针对select写了一个通用的option输出函数

ASP
针对select写了一个通用的option输出函数

MSSQL output使用

编程语言 网络编程
MSSQL output使用

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《噬神者2》v1.30后重炮流研究心得

《噬神者2》v1.30后重炮流研究心得

FlashMX经典实例(4)

FlashMX经典实例(4)
下拉加载更多内容 ↓