PHP 输出控制 函数
PHP 输出控制函数
PHP 提供了一组函数,用于控制在何处以及何时将内容发送到浏览器。这被称为输出控制。
输出可以来自以下任何来源:
echo
、print
、printf
、print_r
... 以及其他类似的函数和语句。- PHP 的通知、警告和错误。
- 位于
<?php ?>
标签之外的任何内容。
PHP 及其运行的后端可能会将输出保存在缓冲区中,然后再发送给用户。
注意:输出控制函数可以创建任意数量的输出缓冲区。输出缓冲区会捕获程序给出的输出。每个新的输出缓冲区都会放置在输出缓冲区堆栈的顶部,并且它产生的任何输出都将被其下方的缓冲区捕获。输出控制函数只处理最顶层的缓冲区,因此必须移除最顶层的缓冲区才能控制其下方的缓冲区。
安装
PHP 输出控制函数是 PHP 核心的一部分。使用这些函数不需要进行任何安装。
运行时配置
输出控制函数的功能受 php.ini 设置的影响。
名称 | 默认值 | 描述 | 版本 |
---|---|---|---|
output_buffering | "0" | 默认情况下启用所有 PHP 文件的输出缓冲。 | 4 |
output_handler | NULL | 设置处理所有输出缓冲区输出的默认函数的名称。 | 4 |
implicit_flush | "0" | 启用隐式刷新,这会导致在每个输出语句后直接将输出发送到浏览器。 | 4 |
url_rewriter.tags | "a=href,area=href, frame=src,form=,fieldset=" | 指示哪些 HTML 标签和属性可以被 URL 重写器(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() 添加的所有变量。 |