PHP headers_sent() 函数
定义和用法
headers_sent() 函数检查 HTTP 标头是否已被发送以及在哪里被发送。
如果报头已发送,则返回 true,否则返回 false。
语法
- headers_sent(file,line)
参数 | 描述 |
---|---|
file,line | 可选。 如果设置 file 和 line 参数,headers_sent() 会把输出开始的 PHP 源文件名和行号存入 file 和 line 变量中。 |
提示和注释
注释:一旦报头块已经发送,就不能使用 header() 函数 来发送其它的标头。使用此函数至少可以避免与 HTTP 标头有关的错误信息。
注释:可选的 file 和 line 参数是 PHP 4.3 中新加的。
例子
例子 1
- <?php
- // 如果报头未发送,则发送一个
- if (!
headers_sent()
)- {
- header("Location: http://www.baidu.com/");
- exit;
- }
- ?>
- <html>
- <body>
- ...
- ...
例子 2
使用可选的 file 和 line 参数:
- <?php
- // 传递 $file 和 $line,供日后使用
- // 不要预先为它们赋值
- if (!
headers_sent($file, $line)
)- {
- header("Location: http://www.baidu.com/");
- exit;
- // Trigger an error here
- }
- else
- {
- echo "Headers sent in $file on line $line";
- exit;
- }
- ?>
- <html>
- <body>
- ...
- ...