header

(PHP 4, PHP 5, PHP 7)

header锟斤拷锟斤拷原锟斤拷 HTTP 头

说锟斤拷

header ( string $string [, bool $replace = true [, int $http_response_code ]] ) : void

header() 锟斤拷锟节凤拷锟斤拷原锟斤拷锟斤拷 HTTP 头锟斤拷锟斤拷锟斤拷 HTTP 头锟侥革拷锟斤拷锟斤拷息锟斤拷慰锟� » HTTP/1.1 specification锟斤拷

锟斤拷注锟斤拷 header() 锟斤拷锟斤拷锟斤拷锟轿猴拷实锟斤拷锟斤拷锟街帮拷锟斤拷茫锟斤拷锟斤拷锟斤拷锟斤拷锟酵拷锟� HTML 锟斤拷签锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷 PHP 锟斤拷锟斤拷目锟斤拷校锟斤拷崭锟斤拷锟斤拷歉锟斤拷锟斤拷锟斤拷拇锟斤拷锟斤拷锟酵拷锟�include锟斤拷require锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷锟斤拷锟侥猴拷锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟�header()锟斤拷锟斤拷锟斤拷之前锟斤拷锟斤拷锟斤拷锟叫空革拷锟斤拷呖锟斤拷小锟� 同锟斤拷锟斤拷锟斤拷锟斤拷也锟斤拷锟斤拷锟节碉拷锟斤拷锟斤拷 PHP/HTML 锟侥硷拷锟叫★拷

<html>
<?php
/* This will give an error. Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
exit;
?>

锟斤拷锟斤拷

string

头锟街凤拷锟斤拷锟斤拷

锟斤拷锟斤拷锟斤拷锟截憋拷锟酵凤拷锟斤拷锟揭伙拷锟斤拷锟�"HTTP/"锟斤拷头锟斤拷 (case is not significant)锟斤拷锟斤拷锟结被锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭拷锟斤拷偷锟紿TTP状态锟诫。 锟斤拷锟斤拷锟斤拷 Apache 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟脚憋拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷使锟斤拷 ErrorDocument 指锟筋)锟斤拷 锟酵伙拷希锟斤拷锟脚憋拷锟斤拷应锟斤拷锟斤拷确锟斤拷状态锟诫。

<?php
header
("HTTP/1.0 404 Not Found");
?>

锟节讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�"Location:"锟斤拷头锟斤拷息锟斤拷锟斤拷锟斤拷锟斤拷锟窖憋拷锟侥凤拷锟酵革拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷馗锟斤拷锟斤拷锟斤拷一锟斤拷 REDIRECT锟斤拷302锟斤拷锟斤拷状态锟诫,锟斤拷锟斤拷状态锟斤拷锟窖撅拷锟斤拷锟饺憋拷锟斤拷锟斤拷为锟斤拷201锟斤拷锟斤拷3xx锟斤拷

<?php
header
("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

replace

锟斤拷选锟斤拷锟斤拷 replace 锟斤拷锟斤拷锟角凤拷锟矫猴拷锟斤拷锟酵凤拷婊磺帮拷锟斤拷锟酵拷锟斤拷偷锟酵凤拷锟� 默锟斤拷锟斤拷锟斤拷禄锟斤拷婊伙拷锟斤拷锟斤拷锟斤拷锟斤拷 FALSE锟斤拷锟酵匡拷锟斤拷强锟斤拷使锟斤拷同锟斤拷头锟斤拷息锟斤拷锟芥。锟斤拷锟界:

<?php
header
('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM'false);
?>

http_response_code

强锟斤拷指锟斤拷HTTP锟斤拷应锟斤拷值锟斤拷注锟解,锟斤拷锟斤拷锟斤拷锟街伙拷锟斤拷诒锟斤拷锟斤拷址锟斤拷锟斤拷锟�string锟斤拷锟斤拷为锟秸碉拷锟斤拷锟斤拷虏锟斤拷锟叫э拷锟�

锟斤拷锟斤拷值

没锟叫凤拷锟斤拷值锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.1.2 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷诳锟斤拷锟揭伙拷锟斤拷锟斤拷锟街癸拷锟斤拷锟斤拷锟斤拷锟斤拷息锟侥凤拷锟酵o拷锟接讹拷锟斤拷为锟皆憋拷锟斤拷锟斤拷息注锟诫攻锟斤拷锟斤拷一锟街凤拷锟斤拷锟斤拷

锟斤拷锟斤拷

Example #1 锟斤拷锟截对伙拷锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷没锟饺ワ拷锟斤拷锟斤拷惴拷偷锟斤拷锟斤拷荩锟斤拷锟斤拷绫o拷锟揭伙拷锟斤拷锟斤拷傻锟絇DF锟侥硷拷锟斤拷锟斤拷锟斤拷锟绞癸拷锟�» Content-Disposition锟侥憋拷锟斤拷锟斤拷息锟斤拷锟结供一锟斤拷锟狡硷拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷强锟斤拷锟斤拷锟斤拷锟斤拷锟绞疽伙拷锟斤拷募锟斤拷锟斤拷氐亩曰锟斤拷锟�

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>

Example #2 锟斤拷锟斤拷指锟斤拷

PHP锟脚憋拷锟斤拷锟角伙拷锟斤拷锟斤拷一些锟斤拷态锟斤拷锟捷o拷锟斤拷锟斤拷些锟斤拷锟斤拷锟角诧拷应锟矫憋拷锟斤拷锟斤拷模锟斤拷锟斤拷锟斤拷强突锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟节凤拷锟斤拷锟斤拷锟剿和客伙拷锟斤拷锟斤拷锟斤拷锟街拷锟斤拷锟轿何达拷锟斤拷锟斤拷锟角匡拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷强锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷透锟斤拷锟斤拷锟斤拷锟姐不锟斤拷锟斤拷锟斤拷锟捷o拷

<?php
header
("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

Note:

也锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟角撅拷锟角硷拷使锟斤拷没使锟斤拷锟斤拷锟斤拷锟斤拷未锟斤拷耄拷锟斤拷页锟斤拷也没锟叫憋拷锟斤拷锟芥。锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷为锟矫伙拷锟斤拷锟斤拷锟皆硷拷锟斤拷锟斤拷锟斤拷锟角碉拷锟斤拷锟斤拷锟斤拷佣锟斤拷谋锟斤拷锟斤拷锟斤拷默锟较的伙拷锟斤拷锟斤拷为锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷伪锟斤拷锟斤拷锟较拷锟斤拷锟矫达拷锟斤拷应锟斤拷锟斤拷写锟斤拷些锟斤拷锟斤拷锟矫碉拷锟斤拷锟斤拷锟剿的达拷锟诫。

锟斤拷锟解,锟斤拷锟斤拷锟斤拷session锟斤拷锟斤拷锟斤拷拢锟�session_cache_limiter()锟斤拷session.cache_limiter锟斤拷锟斤拷锟矫匡拷锟斤拷锟斤拷锟斤拷锟皆讹拷锟斤拷锟斤拷锟斤拷锟斤拷确锟侥伙拷锟斤拷锟斤拷氐锟酵凤拷锟较拷锟�

注锟斤拷

Note:

锟斤拷锟斤拷头只锟斤拷锟斤拷SAPI支锟斤拷时锟矫碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷

Note:

锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟捷斤拷锟斤拷一直锟斤拷锟斤拷锟节凤拷锟斤拷锟斤拷锟剿o拷直锟斤拷锟姐发锟斤拷锟斤拷锟角o拷锟解将锟斤拷杀冉洗锟斤拷锟斤拷源锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟杰匡拷锟斤拷锟斤拷锟斤拷狻o拷锟斤拷锟斤拷通锟斤拷锟节脚憋拷锟斤拷使锟斤拷ob_start()锟斤拷ob_end_flush()锟斤拷锟斤拷直锟斤拷锟斤拷锟斤拷锟�php.ini锟侥硷拷锟斤拷锟斤拷锟斤拷output_buffering锟斤拷也锟斤拷锟斤拷直锟斤拷锟节凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟矫★拷

Note:

HTTP状态锟斤拷息锟侥憋拷锟斤拷锟斤拷远锟斤拷锟斤拷锟斤拷锟铰憋拷锟斤拷锟酵碉拷锟酵伙拷锟剿的o拷锟斤拷锟斤拷锟斤拷header()锟角凤拷锟斤拷锟斤拷锟斤拷锟饺凤拷锟酵的★拷锟斤拷锟斤拷状态锟斤拷锟斤拷芑岜伙拷锟叫达拷锟斤拷锟斤拷锟斤拷锟�header()锟斤拷锟借定锟铰碉拷状态锟诫,锟斤拷锟斤拷HTTP锟斤拷锟斤拷锟窖撅拷锟斤拷锟斤拷锟斤拷锟剿★拷

Note:

锟斤拷IE 4.01锟斤拷IE 5.5锟斤拷锟斤拷bug锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟缴o拷锟斤拷锟揭裁伙拷锟斤拷锟斤拷锟矫丛讹拷诺锟斤拷锟斤拷锟斤拷税伞锟�

Note: 锟斤拷锟斤拷锟饺J斤拷锟�safe mode锟斤拷锟斤拷锟斤拷锟筋,锟斤拷么锟脚憋拷锟斤拷uid锟斤拷锟结被锟斤拷拥锟�WWW-Authenticate锟斤拷realm锟斤拷锟街o拷前锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟酵凤拷锟较拷锟斤拷锟斤拷锟铰o拷使锟斤拷 HTTP 锟斤拷证锟斤拷锟斤拷

Note:

HTTP/1.1锟斤拷要一锟斤拷锟斤拷锟皆碉拷锟斤拷锟斤拷锟斤拷源锟斤拷址锟斤拷URI锟斤拷锟斤拷锟斤拷为一锟斤拷锟斤拷锟斤拷锟斤拷» Location:使锟矫o拷锟斤拷锟斤拷锟叫憋拷锟斤拷锟斤拷锟斤拷锟叫拷椋拷锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰凤拷锟斤拷锟斤拷锟斤拷锟揭恍╋拷突锟斤拷丝锟斤拷越锟斤拷锟斤拷锟皆碉拷锟斤拷锟斤拷锟斤拷源锟斤拷址锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷锟斤拷锟皆碉拷锟斤拷路锟斤拷源锟斤拷址锟侥伙拷锟斤拷锟斤拷使锟斤拷$_SERVER['HTTP_HOST']锟斤拷$_SERVER['PHP_SELF']锟斤拷dirname()锟斤拷锟斤拷装一锟斤拷锟斤拷锟皆碉拷锟斤拷路锟斤拷源锟斤拷址锟斤拷

<?php
/* Redirect to a different page in the current directory that was requested */
$host  $_SERVER['HTTP_HOST'];
$uri   rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

Note:

锟斤拷执锟斤拷Location header锟斤拷转锟斤拷时锟斤拷Session ID锟睫凤拷通锟斤拷锟捷的o拷锟斤拷使session.use_trans_sid锟角硷拷锟斤拷状态锟侥★拷只锟斤拷通锟斤拷锟街讹拷锟斤拷锟斤拷using SID锟斤拷值锟斤拷实锟街★拷

锟轿硷拷