Php/php ref output control
来自菜鸟教程
PHP输出控制功能
PHP输出控制功能
PHP提供了一组函数,用于控制将什么内容发送到浏览器以及何时发送。这称为 输出控制 .
输出可以来自以下任何来源:
echo
,print
,printf
,print_r
...和其他类似的功能和陈述- PHP的通知,警告和错误
- 以外的任何内容
<?php ?>
tags
PHP及其运行所在的后端在将输出发送给用户之前,可能会将输出保存在缓冲区中。
注意: 输出控制功能可以创建任意数量的输出缓冲区。输出缓冲区捕获程序给出的输出。每个新的输出缓冲区都放在输出缓冲区堆栈的顶部,它提供的任何输出都将被其下面的缓冲区捕获。outputcontrol函数仅处理最上面的缓冲区,因此必须删除最上面的缓冲区以控制其下面的缓冲区。
安装
PHP输出控制功能是PHP核心的一部分。使用这些功能无需安装。
运行时配置
输出控制功能的行为受php.ini中的设置影响:
Name | 默认 | 描述 | 版 |
---|---|---|---|
output_buffering | “ 0” | 默认情况下为所有PHP文件启用输出缓冲 | 4 |
output_handler | NULL | 设置默认函数的名称,该函数处理所有输出缓冲区的输出 | 4 |
hidden_flush | “ 0” | 启用隐式刷新,这将导致输出在每个输出语句上直接发送到浏览器 | 4 |
url_rewriter.tags | “ a = href,area = href,frame = src,form =,fieldset =” | 指示可以通过URL重写器修改哪些HTML标签和属性(output_add_rewrite_var()函数。) | 4.3 |
url_rewriter.hosts | $ _SERVER ['HTTP_HOST']的当前值 | 默认情况下,URL重写仅在服务器自己的URL上完成。要允许重写其他网站的URL,请在此处设置其他网站的主机名。 | 7.1 |
PHP输出控制功能
方法 | 功能 |
---|---|
flush() | 尝试将内容从系统的输出缓冲区发送到浏览器 |
ob_clean() | 从最上面的输出缓冲区中删除所有内容 |
ob_end_clean() | 删除最上面的输出缓冲区及其所有内容 |
ob_end_flush() | 删除最上面的输出缓冲区并输出其内容 |
使用ob_flush() | 输出最上面的输出缓冲区的内容并清除缓冲区 |
ob_get_clean() | 返回最顶层输出缓冲区的所有内容,并清除缓冲区 |
ob_get_contents() | 返回最上面的输出缓冲区的内容 |
ob_get_flush() | 输出并返回最上面的输出缓冲区的内容,然后删除该缓冲区 |
ob_get_length() | 返回最顶部输出缓冲区中的数据字节数 |
ob_get_level() | 返回一个数字,指示堆栈上有多少个输出缓冲区 |
ob_get_status() | 返回有关输出缓冲区的信息 |
ob_gzhandler() | 用作ob_start()的回调函数,以在将缓冲区发送到浏览器时压缩缓冲区的内容 |
ob_implicit_flush() | 打开或关闭隐式刷新 |
ob_list_handlers() | 返回最顶层输出缓冲区正在使用的回调函数名称的数组 |
ob_start() | 创建一个新的输出缓冲区并将其添加到堆栈的顶部 |
output_add_rewrite_var() | 用于将查询字符串参数附加到输出中的任何URL |
output_reset_rewrite_vars() | 删除所有由添加的变量 |