PHP headers_sent() 函数

定义和用法

headers_sent() 函数检查 HTTP 标头是否已被发送以及在哪里被发送。

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

语法
  1. headers_sent(file,line)
参数描述
file,line

可选。

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


提示和注释

注释:一旦报头块已经发送,就不能使用 header() 函数 来发送其它的标头。使用此函数至少可以避免与 HTTP 标头有关的错误信息。注释:可选的 fileline 参数是 PHP 4.3 中新加的。


例子

例子 1
  1. <?php
  2. // 如果报头未发送,则发送一个
  3. if (!headers_sent())
  4. {
  5. header("Location: https://cankaoshouce.com/");
  6. exit;
  7. }
  8. ?>
  9. <html>
  10. <body>
  11. ...
  12. ...
例子 2

使用可选的 file 和 line 参数:

  1. <?php
  2. // 传递 $file 和 $line,供日后使用
  3. // 不要预先为它们赋值
  4. if (!headers_sent($file, $line))
  5. {
  6. header("Location: https://cankaoshouce.com/");
  7. exit;
  8. // Trigger an error here
  9. }
  10. else
  11. {
  12. echo "Headers sent in $file on line $line";
  13. exit;
  14. }
  15. ?>
  16. <html>
  17. <body>
  18. ...
  19. ...

分类导航