1、void flush(void) --- 刷新输出缓冲
刷新PHP程序的缓冲,而不论PHP执行何种情况,该函数将当前为止程序的所有输出发送到用户的浏览器
flush()函数不会对服务器或客户端浏览器的缓存模式产生影响。因此,必须同时使用ob_flush() 和 flush() 函数来刷新输出缓冲。
2、void ob_clean(void) --- 清空输出缓冲区
此函数用来丢弃输出缓冲区的内容(此函数不会销毁输出缓冲区的内容)
3、bool ob_end_clean(void) --- 清空缓冲区并关闭输出缓冲,用ob_get_status()获取的值为空;
4、bool ob_end_flush(void) --- 冲刷出(送出)输出缓冲区内容并关闭缓冲
5、void ob_flush(void) --- 冲刷出(送出)输出缓冲区的内容;
6、string ob_get_clean(void) --- 得到当前缓冲区的内容并删除当前输出缓冲区(其实是一起执行了ob_get_contents()和ob_end_clean())
7、string ob_get_contents(void) --- 返回输出缓冲区的内容,但不清楚它
8、string ob_get_flush(void) --- 刷出(送出)缓冲区内容,以字符串形式返回内容,并关闭输出缓冲区
9、int ob_get_length(void) --- 返回输出缓冲区内容的长度
10、int ob_get_level(void) --- 返回输出缓冲机制的嵌套级别。
11、array ob_get_status(bool $full_status = FALSE) --- 得到所有输出缓冲区的状态
ob_get_status() 返回最顶层输出缓冲区的状态信息;或者如果full_status设为TRUE,返回所有有效的输出缓冲级别。
12、string ob_gzhandler(string $buffer, int $mode) --- 在ob_start中使用的用来压缩输出缓冲区内容的回调函数。
13、void ob_implicit_flush(int $flag = true) --- 将打开或关闭绝对(隐式)刷送,绝对(隐式)刷送将导致在每次输出调用后有一次刷送操作,以便不在需要对flush()的显示调用。(true 为打开。fales为关闭)
14、array ob_list_handlers(void) --- 列出所有使用中的输出处理程序
15、bool ob_start([callback $output_callback[, int $chunk_size [, bool $erase ]]] ) 打开输出控制缓冲。
16、bool output_add_rewrite_var(string $name, string $value) --- 添加URL重写器的值
此函数添加URL重写机制的键和值,这里的URL重写机制,是指在URL的最后以GET方式添加键值对,或者在表单中以隐藏表单添加键值对。
17、bool output_reset_rewrite_vars(void) 重设URL重写器的值
此函数用来清空所有的URL重写机制,也就是删除有output_add_rewrite_var()设置的重写的变量
php.ini 中和输出缓冲控制有关的选项,共三个,分别是:output_buffering,output_handler 和 implicit.flush:
1. output_buffering 默认为 off , 当设置为 on 时,则在所有脚本自动打开输出缓冲区,拿 例3 来说,就是在每个脚本都自动执行了 ob_start() 这个函数,而不用再显示的调用该函数。其也可以设置为一个整型的数字,代表缓冲区可以存储的最大字节数,我们在 例1 的下面说明中提到过这个配置项。
2. output_handler 默认为 null , 其值只能设置为一个内置的函数名,作用就是将脚本的所有输出,用所定义的函数进行处理。他的用法和 ob_start('function_name') 较类似,下面会介绍到。
3. implicit_flush 默认为 off , 当设置为 on 时,PHP将在输出后,自动送出缓冲区内容。拿 例4 来说,就是在每段输出后,自动执行 flush() 。当然有效的输出不仅指像echo , print 这样的函数,也包括HTML段。