ob_start
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_get_flush
string ob_get_flush ( void )ob_clean
void ob_clean ( void )此函数用来丢弃输出缓冲区中的内容。此函数不会销毁输出缓冲区。
ob_end_clean
bool ob_end_clean ( void )ob_end_flush
bool ob_end_flush ( void )ob_get_level
ob_implicit_flush
void ob_implicit_flush ([ int$flag
= true
] )
flag
设为TRUE
打开绝对刷送,反之是 FALSE
。打开意味着不需要flush();
ob_get_status
array ob_get_status ([ bool$full_status
= FALSE
] )
full_status
设为TRUE
,返回所有有效的输出缓冲级别。full_status
设为TRUE
返回所有有效的输出缓冲区级别的状态信息。如果设为 FALSE
或者没有设置,仅返回最 顶层输出缓冲区的状态信息。
如果调用时没有full_status
参数,或者full_status
= FALSE
将返回一个包含下面元素的简单数组:
Array ( [level] => 2 [type] => 0 [status] => 0 [name] => URL-Rewriter [del] => 1 )