get_headers
(PHP 5, PHP 7)
get_headers — HTTP リクエストに対するレスポンス内で サーバーによって送出された全てのヘッダを取得する
説明
get_headers
( string $url
[, int $format
= 0
[, resource $context
]] ) : array
get_headers() は、HTTP リクエストに対するレスポンス内で サーバーによって送出されたヘッダの配列を返します。
パラメータ
url
- 対象となる URL。
format
- オプションの
format
パラメータが ゼロ以外にセットされた場合、get_headers() はレスポンスをパースし、配列のキーをセットします。 context
- stream_context_create() 関数で作られた 有効なコンテキストリソース
返り値
数値添字配列あるいは連想配列でヘッダを返します。
失敗した場合は false
を返します。
変更履歴
バージョン | 説明 |
---|---|
7.1.0 | context パラメーターが追加されました。
|
例
例1 get_headers() の例
<?php$url = 'http://www.example.com';print_r(get_headers($url));print_r(get_headers($url, 1));?>
上の例の出力は、 たとえば以下のようになります。
Array ( [0] => HTTP/1.1 200 OK [1] => Date: Sat, 29 May 2004 12:28:13 GMT [2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT [4] => ETag: "3f80f-1b6-3e1cb03b" [5] => Accept-Ranges: bytes [6] => Content-Length: 438 [7] => Connection: close [8] => Content-Type: text/html ) Array ( [0] => HTTP/1.1 200 OK [Date] => Sat, 29 May 2004 12:28:14 GMT [Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux) [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT [ETag] => "3f80f-1b6-3e1cb03b" [Accept-Ranges] => bytes [Content-Length] => 438 [Connection] => close [Content-Type] => text/html )
例2 get_headers() で HEAD を使う例
<?php// デフォルトでは、get_headers は GET リクエストを使ってヘッダを取得します。// HEAD リクエストでヘッダを取得したい場合は、ストリームコンテキストを使います。stream_context_set_default( array( 'http' => array( 'method' => 'HEAD' ) ));$headers = get_headers('http://example.com');?>