php header函式詳解

2021-08-15 22:56:58 字數 1931 閱讀 8016

說起 php 的header函式  肯定沒有人不知道,但是 如果 面試的時候讓你談談對header的認識 ,恐怕好多人都要抓瞎啦。

下面咱們就來詳細聊聊 php的這個header

首先呢 自然 要從手冊說起了,

一:手冊:

header

— 傳送原生 http 頭

replace可選引數replace表明是否用後面的頭替換前面相同型別的頭。 預設情況下會替換。如果傳入false,就可以強制使相同的頭資訊並存。例如:

http_response_code強制指定http響應的值。注意,這個引數只有在報文字串(string)不為空的情況下才有效。

請注意 

header()

必須在任何實際輸出之前呼叫,不管是普通的 html 標籤,還是檔案或 php 輸出的空行,空格。這是個常見的錯誤,在通過

include

,require

,或者其訪問其他檔案裡面的函式的時候,如果在

header()

被呼叫之前,其中有空格或者空行。 同樣的問題也存在於單獨的 php/html 檔案中。

兩種 特別的頭

1、以「

」開頭的 (case is not significant),將會被用來計算出將要傳送的http狀態碼。 例如在 apache 伺服器上用 php 指令碼來處理不存在檔案的請求(使用 

errordocument

指令), 就會希望指令碼響應了正確的狀態碼。

);2、是「location:」的頭資訊。它不僅把報文傳送給瀏覽器,而且還將返回給瀏覽器乙個 

redirect

(302)的狀態碼,除非狀態碼已經事先被設定為了

201或者

3xx。

eg:header

("location: "

);二:用法

1跳轉頁面

header('location:'.$url);  //location和":"之間無空格。

2.宣告content-type

header('content-type:text/html;charset=utf-8');

3.在某個時間後執行跳轉

header('refresh: 10; url=');  //10s後跳轉。

4.返回response狀態碼

5.控制瀏覽器快取

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");

6.執行http驗證

php header 函式詳解

一 作用 php只是以http協議將html文件的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下http協議了,與php無關了,可參照http www.w3.org protocols rfc2616 rfc2616。傳統的標頭一定包含下面三種標頭之一,並只能出現一次。...

php header函式詳解

常用例項 200 正常狀態 301 永久重定向,記得在後面要加重定向位址 location url 重定向,其實就是302 暫時重定向 header location 設定頁面304 沒有修改 顯示登入框,header www authenticate basic realm 登入資訊 echo 顯...

php header 函式詳解

一 作用 php只是以http協議將html文件的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下http協議了,與php無關了,可參照 傳統的標頭一定包含下面三種標頭之一,並只能出現一次。location x yyyy zzzz content type x yyyy ...