PHP语法--Output Control函数

分类: 开发语言 > PHP

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段。

来源:原创 发布时间:2019-12-30 20:55:31