定義和用法
header() 函數向用戶端發送原始的 http 前序。
認識到一點很重要,即必須在任何實際的輸出被發送之前調用 header() 函數(在 php 4 以及更高的版本中,您可以使用輸出緩衝來解決此問題):
location
refresh
content-type
expires(意思為終止)
last-modified等。
location – 瀏覽器顯示指定的網頁。
格式: header(“location: http://絕對位址”);
location 的地址必須是一個絕對位址。
refresh
refresh – 更新網頁。
<html>
<?php
// 結果出錯
// 在調用 header() 之前已存在輸出
header('location: http://www.111cn.net/');
?>文法
header(string,replace,http_response_code)
該函數防止一次發送多個前序
<?php
// date in the past
header("expires: mon, 26 jul 1997 05:00:00 gmt");
header("cache-control: no-cache");
header("pragma: no-cache");
?>
提示使用者儲存一個產生的 pdf 檔案(content-disposition 前序用於提供一個推薦的檔案名稱,並強制瀏覽器顯示儲存對話方塊):
當時間超過指定時間就表示網頁內容已經失效。 其格式如下
expires = “expires:” http-date
例 如: header(“expires: fri, 31 oct 2003 18:00:00 gmt”); 表示2003年10月31日星期五 18時。
header(“expires: wed, 30 jun 2004 09:00:00 gmt”); 表示2004年6月30日星期三 9時。
last-modified = “last-modified” “:” http-date
例如 header(“last-modified: wed, 01 jan 2003 12:00:00 gmt”); 上次修改時間2003年1月1日12時
cache control
no-cache 使得伺服器的資料可以傳送到遠端使用者, 而不會被暫存 (cache) 起來。
no-store 是預防不良的版本或者是敏感的資訊被保留下來。
must-revalidate 是指必須要再評估資訊, 如果暫存 (cached) 的資料是無效的則讓伺服器與使用者端聯機
date 是說明資料內容的建立日期及時間。 其格式如下: date = “date:” http-date
範例: header(“date: sun, 15 feb 2004 08:00:00 gmt”); 建立日期是2004年2月15日8時。
<?php
header("content-type:application/pdf");
// 檔案將被稱為 downloaded.pdf
header("content-disposition:attachment;filename='downloaded.pdf'");
// pdf 源在 original.pdf 中
readfile("original.pdf");
?>