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.codew3c.com/"); exit; } ?> <html> <body> ... ...
例子 2
使用可選的 file 和 line 參數:
<?php // 傳遞 $file 和 $line,供日后使用 // 不要預先為它們賦值 if (!headers_sent($file, $line)) { header("Location: http://www.codew3c.com/"); exit; // Trigger an error here } else { echo "Headers sent in $file on line $line"; exit; } ?> <html> <body> ... ...