headers_sent()

1. 定义

该函数检查HTTP头是否已成功发送。 已发送时返回TRUE,未发送则返回FALSE。

2. 语法

headers_sent ([ string &$file [, int &$line ]] ) : bool

3. 参数说明

参数 可选性 数据类型 描述
&$file 可选 字符串 PHP的文件名变量,不必提前赋值
&$line 可选 整型 输出开始的行号变量,不必提前赋值

4. 示例

<?php

// headers_sent()
// 检查HTTP头是否已成功发送

if(headers_sent()) echo 'HTTP头已发送';
else header('X-user-name:jisuapi');// 以 X 开头的HTTP头为自定义HTTP头

print_r(headers_list());
/* 输出:
Array
(
    [0] => X-Powered-By: PHP/7.3.6
    [1] => X-user-name:jisuapi
)
 */

if(!headers_sent($file, $line)){
    header('X-user-pwd:jisu教程');
    header('HTTP/1.1 404 Not Found!');
    print_r(headers_list());
} else {
    sprintf('HTTP头发送失败!文件位于:%20s,行号:%3d', $file, $line);
}
/* 输出:
Array
(
    [0] => X-Powered-By: PHP/7.3.6
    [1] => X-user-name:jisuapi
    [2] => X-user-pwd:jisu教程
)
 */

5. 延展阅读

  • headers_list():返回已经发送或准备发送的 HTTP 响应头列表
  • header():用于向浏览器发送原生的 HTTP 头