PHP headers_sent() 函數(shù)
定義和用法
headers_sent() 函數(shù)檢查 HTTP 標(biāo)頭是否已被發(fā)送以及在哪里被發(fā)送。
如果報(bào)頭已發(fā)送,則返回 true,否則返回 false。
語(yǔ)法
headers_sent(file,line)
參數(shù) | 描述 |
---|---|
file,line | 可選。 如果設(shè)置 file 和 line 參數(shù),headers_sent() 會(huì)把輸出開始的 PHP 源文件名和行號(hào)存入 file 和 line 變量中。 |
提示和注釋
注釋:一旦報(bào)頭塊已經(jīng)發(fā)送,就不能使用 header() 函數(shù) 來(lái)發(fā)送其它的標(biāo)頭。使用此函數(shù)至少可以避免與 HTTP 標(biāo)頭有關(guān)的錯(cuò)誤信息。
注釋:可選的 file 和 line 參數(shù)是 PHP 4.3 中新加的。
例子
例子 1
<?php
// 如果報(bào)頭未發(fā)送,則發(fā)送一個(gè)
if (!headers_sent()
)
{
header("Location: http://chabaoo.cn/");
exit;
}
?>
<html>
<body>
...
...
例子 2
使用可選的 file 和 line 參數(shù):
<?php
// 傳遞 $file 和 $line,供日后使用
// 不要預(yù)先為它們賦值
if (!headers_sent($file, $line)
)
{
header("Location: http://chabaoo.cn/");
exit;
// Trigger an error here
}
else
{
echo "Headers sent in $file on line $line";
exit;
}
?>
<html>
<body>
...
...