headers_list
(PHP 5, PHP 7, PHP 8)
headers_list — 送信した (もしくは送信される予定の) レスポンスヘッダの一覧を返す
説明
headers_list(): array
headers_list() はブラウザもしくはクライアントに送信されるヘッダの数値配列を返します。 これらのヘッダが送信されたかどうかを判断するためには headers_sent() を使用します。
パラメータ
この関数にはパラメータはありません。
戻り値
ヘッダを、数値添字の配列で返します。
例
例1 Example using headers_list()
<?php
/* setcookie() でレスポンスヘッダをそれ自身に追加します */
setcookie('foo', 'bar');
/* 独自のレスポンスヘッダを定義します。
これはほとんどのクライアントで無視されます */
header("Example-Test: foo");
/* レスポンスがプレーンテキストだと宣言します */
header('Content-Type: text/plain; charset=UTF-8');
/* 送信しようとしているヘッダは? */
var_dump(headers_list());
?>
上の例の出力は、 たとえば以下のようになります。
array(3) { [0]=> string(19) "Set-Cookie: foo=bar" [1]=> string(17) "Example-Test: foo" [2]=> string(39) "Content-Type: text/plain; charset=UTF-8" }
注意
注意:
ヘッダにアクセスできたりヘッダを出力したりするのは、 それに対応した SAPI を使っている場合のみです。
参考
- headers_sent() - ヘッダが既に送信されているかどうかを調べる
- header() - 生の HTTP ヘッダを送信する
- setcookie() - クッキーを送信する
- apache_response_headers() - HTTPレスポンスヘッダを全て取得する
- http_response_code() - HTTP レスポンスコードを取得または設定
+add a note
User Contributed Notes 2 notes
Anonymous ¶
12 years ago
note that it does not return the status header
<?php
header('HTTP/1.1 301 Moved Permanently', true, 301);
header('foo: bar');
header('a: b');
header('colon less example');
print_r(headers_list());
?>
Array
(
[0] => X-Powered-By: PHP/5.4.7
[1] => foo: bar
[2] => a: b
)
arnold at jasny dot net ¶
7 years ago
This function won't work for when you're running PHP from the command line. If will always return an empty array. This can be an issue when testing your project using PHPUnit or Codeception.
To solve this, install the xdebug extension and use `xdebug_get_headers` when on the cli.
<?php
$headers = php_sapi_name() === 'cli' ? xdebug_get_headers() : headers_list();
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google