文章介绍了php函数ob_start()、ob_end_clean()、ob_get_contents(),有需要的朋友可参考一下。
下面3个函数的用法
ob_get_contents() – 返回输出缓冲区的内容
ob_get_contents
(php 4, php 5)
ob_get_contents — 返回输出缓冲区的内容
说明
string ob_get_contents ( void )
只是得到输出缓冲区的内容,但不清除它。
返回值
此函数返回输出缓冲区的内容,或者如果输出缓冲区无效将返回false 。
范例
代码如下
example #1 a simple ob_get_contents() example
以上例程会输出:
string(6) “hello ”
string(11) “hello world”
ob_flush() – 冲刷出(送出)输出缓冲区中的内容
ob_flush
(php 4 >= 4.2.0, php 5)
ob_flush — 冲刷出(送出)输出缓冲区中的内容
说明
void ob_flush ( void )
这个函数将送出缓冲区的内容(如果里边有内容的话)。如果想进一步处理缓冲区中的内容,必须在ob_flush()之前调用ob_get_contents() ,因为在调用ob_flush()之后缓冲区内容将被丢弃。
此函数不会销毁输出缓冲区,而像ob_end_flush() 函数会销毁缓冲区。
返回值
没有返回值。
ob_clean() – 清空(擦掉)输出缓冲区
ob_clean
(php 4 >= 4.2.0, php 5)
ob_clean — 清空(擦掉)输出缓冲区
说明
void ob_clean ( void )
此函数用来丢弃输出缓冲区中的内容。
此函数不会销毁输出缓冲区,而像 ob_end_clean() 函数会销毁输出缓冲区。
返回值
没有返回值。
ob_end_flush() – 冲刷出(送出)输出缓冲区内容并关闭缓冲
ob_end_flush — 冲刷出(送出)输出缓冲区内容并关闭缓冲
说明
bool ob_end_flush ( void )
这个函数将送出最顶层缓冲区的内容(如果里边有内容的话),并关闭缓冲区。如果想进一步处理缓冲区中的内容,必须在ob_end_flush()之前调用 ob_get_contents(),因为在调用ob_end_flush()后缓冲区内容被丢弃。
note: 这个函数与ob_get_flush()相似,不同的是ob_get_flush()会把缓冲区中的内容作为字符串返回。
返回值
成功时返回 true, 或者在失败时返回 false. 错误的原因首先是,在调用时没有一个起作用的缓冲区,或者是因为某些原因缓冲区不能被删除(可能对特殊缓冲区而言)。
错误/异常
如果函数失败了,将引发一个e_notice异常。
更新日志
版本 说明
4.2.0 添加了布尔返回值。
范例
example #1 ob_end_flush() example
下面的例子给出了一种送出缓冲区内容并关闭所有输出缓冲区的容易的方法:
代码如下
ob_end_clean() – 清空(擦除)缓冲区并关闭输出缓冲
ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲
说明
bool ob_end_clean ( void )
此函数丢弃最顶层输出缓冲区的内容并关闭这个缓冲区。如果想要进一步处理缓冲区的内容,必须在ob_end_clean()之前调用ob_get_contents(),因为当调用ob_end_clean()时缓冲区内容将被丢弃。
返回值
成功时返回 true, 或者在失败时返回 false. 错误的原因首先是,在调用时没有一个起作用的缓冲区,或者是因为某些原因缓冲区不能被删除(可能对特殊缓冲区而言)。
错误/异常
如果函数失败了,将引发一个e_notice异常。
更新日志
版本 说明
4.2.0 添加了布尔返回值。
范例
下面的例子给出了一种去除所有输出缓冲区的方法:
代码如下
example #1 ob_end_clean() example