更多php文章请阅读
在PHP中, Output Buffer输出缓冲函数可以将一些直接产生输出的函数, 如passthru(),var_dump() 等的结果导入到文件中,或者经过处理再输出, 或者作为字符串来处理,在PHP中,处理输出缓冲的函数主要有以下几个:
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跟mysq还有JSl时间的问题
php+mysql分页原理案例分析
php把HTML代码转换成文本输出的方法