首頁 >後端開發 >PHP問題 >php的header的用法詳解

php的header的用法詳解

藏色散人
藏色散人原創
2020-07-08 09:48:443307瀏覽

php header用於向客戶端發送原始的HTTP標頭,該函數的語法是“header(string,replace,http_response_code)”,其中參數string表示要傳送的標頭字串。

php的header的用法詳解

PHP header() 函數

##定義與用法

header() 函數向客戶端發送原始的HTTP 標頭。

認識到一點很重要,即必須在任何實際的輸出被發送之前調用header() 函數(在PHP 4 以及更高的版本中,您可以使用輸出緩存來解決此問題):

<html>
<?php
// 结果出错
// 在调用 header() 之前已存在输出
header(&#39;Location: http://www.example.com/&#39;);
?>

語法

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=&#39;downloaded.pdf&#39;");
// PDF 源在 original.pdf 中
readfile("original.pdf");
?>
<html>
<body>
...
...

註解:微軟IE 5.5 存在一個阻止以上機制的bug。透過升級為 Service Pack 2 或更高的版本,可以解決該 bug。

更多相關知識,請造訪

PHP中文網

以上是php的header的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn