(PHP 4, PHP 5, PHP 7)
headers_sent — 锟斤拷锟� HTTP 头锟角凤拷锟窖撅拷锟斤拷锟斤拷
&$file
[, int &$line
]] ) : bool锟斤拷锟� HTTP 头锟角凤拷锟窖撅拷锟斤拷锟酵★拷
HTTP 头锟窖撅拷锟斤拷锟斤拷时锟斤拷锟斤拷锟睫凤拷通锟斤拷 header() 锟斤拷痈锟斤拷锟酵凤拷侄巍锟� 使锟矫此猴拷锟斤拷锟斤拷锟斤拷锟斤拷苑锟街� HTTP 头锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� 锟斤拷锟斤拷锟斤拷锟�锟斤拷
file
锟斤拷锟斤拷锟斤拷锟剿匡拷选锟斤拷锟斤拷 file
and
line
锟斤拷
headers_sent() 锟斤拷锟� PHP 锟侥硷拷锟斤拷锟斤拷锟斤拷 file
锟斤拷锟斤拷锟斤,
锟斤拷锟斤拷锟绞硷拷锟斤拷泻欧锟斤拷锟� line
锟斤拷锟斤拷锟斤。
line
锟斤拷锟斤拷锟绞硷拷锟斤拷泻拧锟�
HTTP 头未锟斤拷锟斤拷时锟斤拷headers_sent() 锟斤拷锟斤拷 FALSE
锟斤拷锟斤拷锟津返伙拷 TRUE
锟斤拷
Example #1 使锟斤拷 headers_sent() 锟斤拷锟斤拷锟斤拷
<?php
// 没锟斤拷 HTTP 头锟酵凤拷锟斤拷一锟斤拷
if (!headers_sent()) {
header('Location: http://www.example.com/');
exit;
}
// 使锟斤拷 file 锟斤拷 line 锟斤拷锟斤拷选锟斤拷锟斤拷锟斤拷锟�
// 注锟斤拷 $filename 锟斤拷 $linenum 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷使锟斤拷
// 锟斤拷锟皆诧拷要锟斤拷前为锟斤拷锟角革拷值
if (!headers_sent($filename, $linenum)) {
header('Location: http://www.example.com/');
exit;
// 锟斤拷锟叫匡拷锟斤拷锟斤拷锟斤拷锟斤触锟斤拷锟斤拷锟斤拷
} else {
echo "Headers already sent in $filename on line $linenum\n" .
"Cannot redirect, for now please click this <a " .
"href=\"http://www.example.com\">link</a> instead\n";
exit;
}
?>
Note:
锟斤拷锟斤拷头只锟斤拷锟斤拷SAPI支锟斤拷时锟矫碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷