當前位置: 首頁> 最新文章列表> 如何使用headers_list() 查看當前已設置的HTTP 頭信息清單?

如何使用headers_list() 查看當前已設置的HTTP 頭信息清單?

M66 2025-07-04

在PHP 中, headers_list()函數是一個非常有用的工具,用於查看當前腳本中已經設置的所有HTTP 頭信息。它返回一個數組,包含了所有HTTP 頭的名稱和對應的值。這對於調試HTTP 頭的設置,尤其是在發送前檢查某些頭是否正確設置時,顯得尤為重要。

基本用法

headers_list()函數不接受任何參數。當你調用它時,它會返回一個包含所有已發送HTTP 頭信息的數組。這裡有一個基本示例,演示如何使用headers_list()函數:

 <?php
// 設置一些 HTTP 頭
header('Content-Type: application/json');
header('Cache-Control: no-cache');

// 獲取當前已設置的所有 HTTP 頭
$headers = headers_list();

// 输出所有頭信息
foreach ($headers as $header) {
    echo $header . "<br>";
}
?>

在上面的示例中,我們首先使用header()函數設置了兩個HTTP 頭: Content-TypeCache-Control 。然後,通過調用headers_list() ,我們獲取了當前所有設置的HTTP 頭,並逐一輸出。

輸出示例

當你運行上面的代碼時,輸出可能類似於:

 Content-Type: application/json
Cache-Control: no-cache

注意事項

  1. 頭信息發送順序headers_list()返回的頭信息是按照發送的順序排列的。這意味著,如果你在腳本中先後設置了多個相同類型的頭, headers_list()會顯示出這些頭,並且順序是按照它們被設置的先後進行排列的。

  2. 必須在輸出前調用:請注意, headers_list()只能在沒有任何輸出之前調用。 PHP 會在輸出任何內容到瀏覽器之前發送HTTP 頭,因此,如果在調用headers_list()前已經有輸出(如echo或HTML 代碼),你將無法獲取到頭信息。

設置自定義HTTP 頭

如果你需要設置自定義的HTTP 頭信息並查看它們,可以使用類似以下的代碼:

 <?php
// 設置一個自定義的 HTTP 頭
header('X-Custom-Header: m66.net');

// 獲取當前的 HTTP 頭
$headers = headers_list();

// 输出所有頭信息
foreach ($headers as $header) {
    echo $header . "<br>";
}
?>

在這個例子中,我們設置了一個名為X-Custom-Header的自定義頭,值為m66.net 。通過headers_list() ,我們可以查看它是否已被成功設置。

其他相關函數

除了headers_list() ,PHP 還有其他一些相關的函數可以幫助你操作和管理HTTP 頭:

  • header() :用於發送一個原始的HTTP 頭到瀏覽器。

  • headers_sent() :檢查是否已經發送了HTTP 頭。

這些函數的結合使用可以幫助你靈活地控制HTTP 頭的行為,確保數據正確地傳輸給客戶端。