标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字符串,在标头与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参考坊间的相关书籍或更详细的 RFC 2068 官方文件(http://www.w3.org/Protocols/rfc2068/rfc2068)。在 PHP 中送回 HTML 资料前,需先传完所有的标头。
注意: 传统的标头一定包含下面三种标头之一,并只能出现一次。
Content-Type: xxxx/yyyy
Location: xxxx:yyyy/zzzz
Status: nnn xxxxxx
范例一: 本例用来重导用户到 PHP 的官方网站。
<?php
Header("Location: http://www.php.net");
exit;
?>
范例二: 第一部分为HTTP协议的版本(HTTP-Version);第二部分为状态代码(Status);第三部分为原因短语(Reason-Phrase)。若要想让浏览器不是从 Proxy 或 cache 中取得页面,可以使用下列的标头
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
>?
范例三: 让使用者的浏览器出现找不到档案的信息。
header("http/1.1 404 Not Found");
范例四:让使用者下载档案。
<?php
header("Content-type: application/x-gzip");
header("Content-Disposition: attachment; filename=文件名");
header("Content-Description: PHP3 Generated Data");
>?
范例五:设置页面编码
header('Content-type: text/html; charset=gbk'); //页面编码设为gbk