関数の概要
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操作がスムーズになります。
