PHP输出缓冲(三)-- 相关缓冲函数

来源:互联网 发布:iec104规约java源码 编辑:程序博客网 时间:2024/05/18 01:54

ob_start

bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )
此函数将打开输出缓冲。当输出缓冲是活跃的时候,没有输出能从脚本送出(除http标头外),相反输 出的内容被存储在内部缓冲区中。

output_callback

可选参数 output_callback 函数可以被指定。 此函数把一个字符串当作参数并返回一个字符串。 此函数在下情况会被调用到:输出缓冲区被( ob_flush()ob_clean() 或者相似的函数)冲刷(送出)或者被清洗的时候;或者在请求结束之际输出缓冲区内容被冲刷到浏览器时。 当 output_callback 被调用时,它将收到输出缓冲区的内容作为参数 并预期返回一个新的输出缓冲区作为结果,这个新返回的输出缓冲区内容将被送到浏览器。 如果这个 output_callback 不是一个可以调用的函数,此函数 会返回 FALSE 。

如果回调函数有两个参数,第二个参数会由一个位域补充,该位域由 PHP_OUTPUT_HANDLER_START,PHP_OUTPUT_HANDLER_CONT 和 PHP_OUTPUT_HANDLER_END 组成。

如果 output_callback 返回 FALSE ,其原来的输入 内容被直接送到浏览器。

这个参数 output_callback 可以通过直接给一个 NULL 值而避开。

chunk_size

如果可选参数 chunk_size 被赋值了,在任何一个能引起缓冲区的长度等于 或超过 chunk_size 的输出操作后,缓冲区都会被刷送。 默认值 0 意味着函数仅在最后被调用,其余的特殊值可以将 chunk_size 从 1 设定到 4096。

erase

如果可选参数 erase 被赋成 FALSE,直到脚本执行完成缓冲区才被删除。 这使得,如果调用了冲刷和清洗(清除)函数,会抛出一个“notice”,并返回 FALSE 值。

ob_flush

void ob_flush ( void )
这个函数将送出缓冲区的内容(如果里边有内容的话)。
此函数不会销毁输出缓冲区,而像ob_end_flush() 函数会销毁缓冲区。

ob_end_flush

bool ob_end_flush ( void )
这个函数将送出最顶层缓冲区的内容(如果里边有内容的话),并关闭缓冲区。

ob_get_flush

string ob_get_flush ( void )
ob_get_flush — 刷出(送出)缓冲区内容,以字符串形式返回内容,并关闭输出缓冲区。

ob_clean

void ob_clean ( void )

此函数用来丢弃输出缓冲区中的内容。此函数不会销毁输出缓冲区。


ob_end_clean

bool ob_end_clean ( void )
ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲。此函数丢弃最顶层输出缓冲区的内容并关闭这个缓冲区。


ob_end_flush

bool ob_end_flush ( void )
ob_end_flush — 冲刷出(送出)输出缓冲区内容并关闭缓冲。这个函数将送出最顶层缓冲区的内容(如果里边有内容的话),并关闭缓冲区。


ob_get_level

int ob_get_level ( void )
ob_get_level — 返回输出缓冲机制的嵌套级别。

ob_implicit_flush

void ob_implicit_flush ([ int $flag = true ] )
ob_implicit_flush()将打开或关闭绝对(隐式)刷送。绝对(隐式)刷送将导致在每次输出调用后有一次刷送操作,以便不再需要对 flush() 的显式调用。
flag

设为TRUE 打开绝对刷送,反之是 FALSE 。打开意味着不需要flush();


ob_get_status

array ob_get_status ([ bool $full_status = FALSE ] )
ob_get_status()返回最顶层输出缓冲区的状态信息;或者如果full_status设为TRUE,返回所有有效的输出缓冲级别。
full_status

设为TRUE 返回所有有效的输出缓冲区级别的状态信息。如果设为 FALSE 或者没有设置,仅返回最 顶层输出缓冲区的状态信息。

如果调用时没有full_status参数,或者full_status = FALSE 将返回一个包含下面元素的简单数组:

Array(    [level] => 2    [type] => 0    [status] => 0    [name] => URL-Rewriter    [del] => 1)

ob_get_length

int ob_get_length ( void )
此函数将返回输出缓中冲区内容的长度。

ob_get_contents

string ob_get_contents ( void )
只是得到输出缓冲区的内容,但不清除它。

ob_list_handlers

array ob_list_handlers ( void )
列出所有使用中的输出处理程序。
0 0
原创粉丝点击