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() 删除所有由添加的变量

output_add_rewrite_var()