输出控制功能允许您控制何时从脚本发送输出。这在多种不同的情况下非常有用,特别是当您的脚本开始输出数据后需要将标头发送到浏览器时。
输出控制函数不会影响使用 header() 或 setcookie() 发送的标头,只会影响 echo 等函数和PHP块之间的数据代码。
安装
使用这些功能无需安装。这些函数是 PHP 核心的一部分。
运行时配置
这些函数的行为受 php.ini 中的设置影响。请参阅运行时配置。
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() | gzip 输出缓冲区的 ob_start 回调函数。 |
ob_list_handlers() | 列出所有正在使用的输出处理程序。 |
ob_start() | 打开输出缓冲。 |
output_add_rewrite_var() | 添加 URL 重写器值。 |
output_reset_rewrite_vars() | 重置 URL 重写器值。 |
PHP 输出控制预定义常量
下面的常量是始终作为 PHP 核心的一部分提供。
常量 | 类型 | 描述 |
---|---|---|
PHP_OUTPUT_HANDLER_START | 整数 | 表示输出缓冲已开始。 |
PHP_OUTPUT_HANDLER_WRITE | 整数 | 表示输出缓冲区正在刷新,并且有数据要输出。 |
PHP_OUTPUT_HANDLER_FLUSH | 整数 | 表示缓冲区已刷新。 |
PHP_OUTPUT_HANDLER_CLEAN | 整数 | 表示输出缓冲区已被清理。 |
PHP_OUTPUT_HANDLER_FINAL | 整数 | 表示这是最终的输出缓冲操作。 |
PHP_OUTPUT_HANDLER_CONT | 整数 | 表示缓冲区已被刷新,但输出缓冲将继续。这是 PHP_OUTPUT_HANDLER_WRITE 的别名。 |
PHP_OUTPUT_HANDLER_END | 整数 | 表示输出缓冲已结束。这是 PHP_OUTPUT_HANDLER_FINAL 的别名。 |
PHP_OUTPUT_HANDLER_CLEANABLE | 整数 | 控制是否可以清理由ob_start() 创建的输出缓冲区。 |
PHP_OUTPUT_HANDLER_FLUSHABLE | 整数 | 控制是否可以刷新由ob_start() 创建的输出缓冲区。 |
PHP_OUTPUT_HANDLER_REMOVABLE | 整数 | 控制是否可以在脚本结束前删除ob_start() 创建的输出缓冲区。 |
PHP_OUTPUT_HANDLER_STDFLAGS | 整数 | 默认的输出缓冲区标志集;目前相当于 PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE。 |