PHP header() 函數定義和用法header() 函數向客戶端發送原始的 HTTP 報頭。認識到一點很重要,即必須在任何實際的輸出被發送之前調用 header() 函數(在 PHP 4 以及更高的版本中,您可以使用輸出緩存來解決此問題):
php教程 header() 函數
定義和用法
header() 函數向客戶端發送原始的 http 報頭。
認識到一點很重要,即必須在任何實際的輸出被發送之前調用 header() 函數(在 php 4 以及更高的版本中,您可以使用輸出緩存來解決此問題):
location
refresh
content-type
expires(意思為終止)
last-modified等。
location – 浏覽器顯示指定的網頁。
格式: header(“location: http://絕對地址”);
location 的地址必須是一個絕對地址。
refresh
refresh – 更新網頁。
// 結果出錯
// 在調用 header() 之前已存在輸出
header('location: http://www.bkjia.com/');
?>語法
header(string,replace,http_response_code)
該函數防止一次發送多個報頭
// 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時。
header("content-type:application/pdf");// 文件將被稱為 downloaded.pdf
header("content-disposition:attachment;filename='downloaded.pdf'");// pdf 源在 original.pdf 中
readfile("original.pdf");
?>