get_headers

関数の概要

PHPの get_headers 関数は、指定したURLからHTTPヘッダー情報を取得するための便利な関数です。ウェブサイトの応答状況やリダイレクトの確認、サーバー情報の調査などに役立ちます。HTTPリクエストのヘッダー部分だけを簡単に取得したい場合に活用できます。

パラメータの説明

  • string $url:HTTPヘッダーを取得したい対象のURLを指定します。
  • bool $format = false(省略可能):trueにすると、ヘッダー情報を連想配列形式で取得します。デフォルトは false で、単純な配列形式で返されます。
  • resource $context = null(省略可能):ストリームコンテキストリソースを指定し、リクエストの詳細設定を行えます。

戻り値

成功した場合、HTTPヘッダーを一行ずつ格納した配列を返します。$formattrue に設定した場合は、ヘッダーの名前をキーとする連想配列を含む配列を返します。失敗した場合は false を返します。

使用例

基本的な使い方

headers = get_headers('https://www.example.com');
print_r($headers);

このコードでは、指定したURLのヘッダー情報を配列で取得し、そのまま出力しています。単純にレスポンスのステータスやサーバー情報を確認するときに便利です。

連想配列形式で取得

headers = get_headers('https://www.example.com', true);
print_r($headers);

$formattrue にすることで、ヘッダーの名前をキーとした連想配列形式で取得します。例えば、複数のリダイレクト先のヘッダーを追跡・解析するときに役立ちます。

リダイレクトを含むヘッダーの取得

headers = get_headers('http://example.com', 1);
print_r($headers);

リダイレクトがある場合にも、最初のレスポンスから順にすべてのヘッダーを取得できます。戻り値の中にリダイレクト先のヘッダーも含まれるため、転送状況の確認が簡単です。

関連する関数

  • curl_init:より高度なHTTPリクエストとレスポンス操作が可能なcURLライブラリの初期化。
  • getallheaders:現在のリクエストのHTTPヘッダーを連想配列で取得する(サーバー側で使用)。
  • stream_context_create:HTTPリクエストオプションを設定する際に使う関数。get_headersの第3引数で利用可能。

まとめ

get_headers 関数は、指定したURLのHTTPヘッダー情報を簡単に取得できる便利な関数です。初心者でも使いやすく、リダイレクトの追跡やレスポンスヘッダーの確認に最適です。より細かいHTTP操作が必要な場合はcURLやストリームコンテキストと組み合わせて使うこともおすすめします。