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)�����ᱻ�����������Ҫ���͵�HTTP״̬�롣 ������ 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 ����������ڿ���һ������ֹ���������Ϣ�ķ��ͣ��Ӷ���Ϊ�Ա�����Ϣע�빥����һ�ַ�����

����

Example #1 ���ضԻ���

������������û�ȥ�����㷢�͵����ݣ����籣��һ�����ɵ�PDF�ļ��������ʹ��» 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�ű����ǻ�����һЩ��̬���ݣ�����Щ�����Dz�Ӧ�ñ�����ģ������ǿͻ�������������ڷ������˺Ϳͻ��������֮����κδ������ǿ�����������ǿ������������͸�������㲻�������ݣ�

<?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:

��������Ҫ���������������ݽ���һֱ�����ڷ������ˣ�ֱ���㷢�����ǣ��⽫��ɱȽϴ����Դ�������������������������ܿ�������⡣�����ͨ���ڽű���ʹ��ob_start()��ob_end_flush()����ֱ�������php.ini�ļ�������output_buffering��Ҳ����ֱ���ڷ������������ļ������á�

Note:

HTTP״̬��Ϣ�ı�����Զ�������±����͵��ͻ��˵ģ�������header()�Ƿ��������ȷ��͵ġ�����״̬����ܻᱻ��д��������header()���趨�µ�״̬�룬����HTTP�����Ѿ��������ˡ�

Note:

��IE 4.01��IE 5.5����bug��Ҫ���������������ɣ����Ҳû������ôԶ�ŵ������˰ɡ�

Note: �����ȫģʽ��safe mode���������ô�ű���uid���ᱻ��ӵ�WWW-Authenticate��realm���֣�ǰ���������������ͷ��Ϣ������£�ʹ�� HTTP ��֤����

Note:

HTTP/1.1��Ҫһ�����Ե�������Դ��ַ��URI������Ϊһ��������» Location:ʹ�ã������б��������Э�飬������ַ����������·��������һЩ�ͻ��˿��Խ�����Ե�������Դ��ַ���������һ����Ե���·��Դ��ַ�Ļ�����ʹ��$_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�޷�ͨ���ݵģ���ʹsession.use_trans_sid�Ǽ���״̬�ġ�ֻ��ͨ���ֶ�����using SID��ֵ��ʵ�֡�

�μ�