php header用於向用戶端傳送原始的HTTP報頭,該函數的語法是「header(string,replace,http_response_code)」,其中引數string表示要傳送的報頭字串。
PHP header() 函數
定義和用法
header() 函數向用戶端傳送原始的 HTTP 報頭。
認識到一點很重要,即必須在任何實際的輸出被傳送之前呼叫 header() 函數(在 PHP 4 以及更高的版本中,您可以使用輸出快取來解決此問題):
<html> <?php // 結果出錯 // 在呼叫 header() 之前已存在輸出 header('Location: http://www.example.com/'); ?>
語法
header(string,replace,http_response_code)
引數
string 必需。規定要傳送的報頭字串。
replace
可選。指示該報頭是否替換之前的報頭,或新增第二個報頭。
預設是 true(替換)。false(允許相同型別的多個報頭)。
http_response_code 可選。把 HTTP 響應程式碼強制為指定的值。(PHP 4 以及更高版本可用)
提示和注釋
注釋:從 PHP 4.4 之後,該函數防止一次傳送多個報頭。這是對頭部注入攻擊的保護措施。
例子
例子 1
<?php // Date in the past header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); ?> <html> <body> ... ...
注釋:使用者可能會設定一些選項來更改瀏覽器的預設快取設定。通過傳送上面的報頭,您可以覆蓋任何這些設定,強制瀏覽器不進行快取!
例子 2
提示使用者儲存一個生成的 PDF 檔案(Content-Disposition 報頭用於提供一個推薦的檔名,並強制瀏覽器顯示儲存對話方塊):
<?php header("Content-type:application/pdf"); // 檔案將被稱為 downloaded.pdf header("Content-Disposition:attachment;filename='downloaded.pdf'"); // PDF 源在 original.pdf 中 readfile("original.pdf"); ?> <html> <body> ... ...
注釋:微軟 IE 5.5 存在一個阻止以上機制的 bug。通過升級為 Service Pack 2 或更高的版本,可以解決該 bug。
更多相關知識,請存取PHP中文網!
以上就是php的header的用法詳解的詳細內容,更多請關注TW511.COM其它相關文章!