PHP headers_sent() 函数
PHP **headers_sent() 函数用于检查 HTTP 报头是否发送/已发送到何处
函数原型
headers_sent(file,line)
一旦报头块已经发送,我们就不能使用 header() 函数来发送其它的报头
参数
参数 | 描述 |
---|---|
file | 可选。如果传递了 file 参数,headers_sent() 会把输出开始的 PHP 源文件名存入 file 变量 |
line | 可选。如果传递了 line 参数,headers_sent() 会把输出开始的 PHP 行号存入 line 变量 |
可选的 file 和 line 参数是 PHP 4.3 中新增的
返回值
如果报头已发送,该函数返回 TRUE,否则返回 FALSE
范例
下面的代码当没有发送任何 HTTP 响应头部时发送一个 HTTT 响应头
<?php if (!headers_sent()) { header("Location: https://www.twle.cn/"); exit; } ?> <!DOCTYPE html> <meta charset="utf-8" /> <h1>简单教程,简单编程</h1>
下面的代码传递了可选的 file 和 line 参数
<?php if (!headers_sent($file, $line)) { header("Location: https://www.twle.cn/"); exit; }else{ echo "Headers sent in $file on line $line";exit; } ?> <!DOCTYPE html> <meta charset="utf-8" /> <h1>简单教程,简单编程</h1>