PHP headers_sent() 函数

定义和用法

headers_sent() 函数检查 HTTP 报头是否发送/已发送到何处。

如果报头已发送,则返回 true,否则返回 false。

语法

headers_sent(file,line)
参数 描述
file,line 可选。如果设置 file 和 line 参数,headers_sent() 会把输出开始的 PHP 源文件名和行号存入 file 和 line 变量中。

提示和注释

注释:一旦报头块已经发送,就不能使用 header() 添加多个报头行。

注释:可选的 file 和 line 参数是 PHP 4.3 中新加的。

例子

例子 1

<?php
// 如果报头未发送,则发送一个
if (!headers_sent())
  {
  header("Location: /");
  exit;
  }
?>

<html>
<body>

...
...

例子 2

使用可选的 file 和 line 参数:

<?php
// 传递 $file 和 $line,供日后使用
// 不要预先为它们赋值
if (!headers_sent($file, $line))
  {
  header("Location: /");
  exit;
  // Trigger an error here
  }
else
  {
  echo "Headers sent in $file on line $line";
  exit;
  }
?>

<html>
<body>

...
...