http_response_code

関数の概要

http_response_code は、PHPで現在のHTTPレスポンスステータスコードを取得または設定するための関数です。HTTPステータスコードは、クライアント(ブラウザなど)へサーバーの処理結果を伝える重要な情報で、ページの正常応答やリダイレクト、エラーなどを示します。

パラメータの説明

  • int $response_code(省略可能):設定したいHTTPステータスコードの整数値。例えば、200、404、500などを指定します。省略した場合は現在のステータスコードを取得します。

戻り値

指定されたステータスコードを設定した場合は、以前のステータスコードを整数で返します。引数を省略して呼び出した場合は、現在のステータスコードを返します。失敗時は false を返すことがあります。

使用例

基本的な使い方(ステータスコードの設定)

http_response_code(404);

この例では、HTTPレスポンスステータスコードを「404 Not Found」に設定します。ページが存在しない場合などに使います。

現在のステータスコードを取得する

$current_code = http_response_code();
echo "現在のステータスコードは " . $current_code . " です。";

引数なしで呼び出すと、現在設定されているレスポンスコードを取得できます。

リダイレクトの前にステータスコードを設定する

http_response_code(301);
header("Location: https://example.com/");
exit;

このコードは「301 Moved Permanently」のステータスコードを先に設定し、その後にLocationヘッダでリダイレクトを行う例です。検索エンジンにURL変更を伝える際に利用されます。

サーバーエラーを返す例

http_response_code(500);
echo "サーバー内部でエラーが発生しました。";

サーバー内部の問題を示す500エラーをレスポンスとして返し、ユーザーにエラーメッセージを表示します。

関連する関数

  • header():HTTPヘッダーを送信する。ステータスコードと合わせて使われることが多い。
  • http_headers_sent():ヘッダーが既に送信されたかどうかを確認する。
  • setcookie():クッキーの設定を行う。こちらもヘッダー送信が関わる処理。

まとめ

http_response_code はPHPで簡単にHTTPステータスコードを設定または取得できる便利な関数です。適切なステータスコードを返すことで、ブラウザや検索エンジン、APIクライアントに正しい処理結果を伝えられます。リダイレクトやエラーハンドリング時に特に重要なので、使いこなしておくと実務でのHTTP操作がスムーズになります。