headers_list() 返回當前腳本已發送或準備發送的 HTTP Header 陣列,適用於除錯、測試、確認快取控制、CORS 等標頭是否正確設定。
<?php
// 設定一些測試 Header
header("Expires: Sat, 12 Dec 1989 05:30:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("X-Custom-Header: TestValue");
echo "已發送 Header 列表:\n";
$headers = headers_list();
foreach ($headers as $h) {
echo " $h\n";
}
/*
輸出範例:
已發送 Header 列表:
Expires: Sat, 12 Dec 1989 05:30:00 GMT
Cache-Control: no-cache, must-revalidate
X-Custom-Header: TestValue
Content-Type: text/html; charset=UTF-8
*/
?>
Content-Type、Date、Server 等 Web Server 自動添加的標頭。headers_sent() 影響:即使 Header 已發送給瀏覽器,仍可取得列表。Access-Control-Allow-* 標頭正確設定。X-Powered-By、Server 等資訊。| 函數 | 用途 |
|---|---|
| headers_list() | 取得所有已設定/發送的 Header 陣列 |
| headers_sent() | 檢查 Header 是否已發送(回傳 bool),可選輸出檔案/行號 |
| header() | 設定單一 Header |
| header_remove() | 移除已設定的 Header(PHP 5.3+) |