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

jacklove
發布: 2023-03-31 07:50:02
原創
1757 人瀏覽過

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

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
header(&#39;access-control-allow-origin:*&#39;);
$headers_list = headers_list();
print_r($headers_list);
?>
登入後複製

輸出:

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!