首頁  >  文章  >  後端開發  >  關於header,headers_sent,headers_list,header_remove 使用說明

關於header,headers_sent,headers_list,header_remove 使用說明

jacklove
jacklove原創
2018-06-09 10:45:111767瀏覽

1.header

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

#功能:傳送一個自訂的http封包。

請注意一點,header()必須在任何實際輸出之前調用,不管是普通的html標籤,還是檔案裡面的空行,空格或者是PHP檔案裡的空行,空格。這是一個非常普遍的錯誤,在透過include,require,或者其存取其他檔案裡面的函數時,如果在header()被呼叫之前,其中有空格或空白行。如果不是呼叫其他文件,只是單獨使用一個PHP或HTML文件,在header()被呼叫之前有輸出也會出錯。

參數說明:

#string  封包字串

replace 如果為true,表示後面一個相同類型的封包資訊來取代前面一個相似的封包資訊。預設為true,如果設為false,可以強制使相同的封包資訊並存。

http_response_code 強制指定HTTP回應的值。請注意,這個參數只有在封包字串(string)不為空的情況下才有效。

範例:將重定性302強制指定為303

<?php
header(&#39;location:http://www.example.com/&#39;, true, 303);
?>

2.headers_sent

bool headers_sent ([ string &$file [, int &$line ]] )

功能:檢查HTTP 標頭是否已被傳送以及在哪裡被傳送。

參數說明:

#file 若設定此參數,則會執行了header輸出的php來源檔案名稱存入file變數中

line 如果設定此參數,就會將執行了header輸出的php來源檔案的程式碼行號存入line變數中

範例:

#
例子:
<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
echo &#39;fdipzone<br>&#39;;
ob_end_flush();
if(headers_sent($file, $line)){
    echo "header send in $file on line $line";
}else{
    echo &#39;not header response&#39;;
}
?>

上例輸出:header send in /home/fdipzone/demo .php on line 5

3.headers_list

array headers_list ( void )

功能:列出所有的header輸出(或準備輸出),傳回為陣列

範例:輸出header list

8c6d0661c60a4e4082df19b7e8d5d805

輸出:

Array
(
    [0] => X-Powered-By: PHP/5.4.3
    [1] => content-type:text/html;charset=utf-8
    [2] => access-control-allow-origin:*
)

4.header_remove

void header_remove ([ string $name ] )

#功能:移除某個header輸出

參數說明:

##name 要移除的header name

範例:判斷是否有access-control-allow-origin:*,如果有則移除

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
header(&#39;access-control-allow-origin:*&#39;);
if(in_array(&#39;access-control-allow-origin:*&#39;, headers_list())){
    header_remove(&#39;access-control-allow-origin&#39;);
}
print_r(headers_list());
?>

本文說明了header,headers_sent,headers_list,header_remove 使用說明,更多相關內容請關注php中文網。

相關推薦:

透過PDO 查詢mysql傳回欄位整數變成String型的解決方法

##透過php根據地理座標來取得國家、省份、城市,及週邊資料類別


如何使用glob方法遍歷資料夾下所有檔案的相關方法

以上是關於header,headers_sent,headers_list,header_remove 使用說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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