PHPのheader関数の使用方法と例


まず、header関数の基本的な構文を見てみましょう。

header(string $header, bool $replace = true, int $http_response_code = null): void
  • $headerは送信するHTTPヘッダーを指定します。例えば、Location: http://example.comといったリダイレクトヘッダーを送信する場合は、header('Location: http://example.com');となります。

  • $replaceは既存の同名のヘッダーを置き換えるかどうかを指定します。デフォルトではtrueになっており、同名のヘッダーを置き換えます。falseに設定すると、同名のヘッダーが既に存在する場合には置き換えずに追加します。

  • $http_response_codeはレスポンスコードを指定します。一般的なレスポンスコードは200(成功)や404(ページが見つからない)ですが、この引数は省略可能です。

以下に、いくつかの具体的な例を示します。

  1. リダイレクトの例:
header('Location: http://example.com');
exit;

上記のコードは、現在のページをhttp://example.comにリダイレクトします。

  1. キャッシュ制御の例:
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

上記のコードは、ブラウザに対してキャッシュの使用を禁止し、常に最新のコンテンツを取得するよう指示します。

  1. セッション管理の例:
session_start();
// セッション変数の設定など...
if ($someCondition) {
    header('Location: login.php');
    exit;
}

上記のコードは、$someConditionが真の場合にlogin.phpにリダイレクトします。セッション管理と組み合わせることで、認証などの機能を実装することができます。

これらは一部の例ですが、header関数はさまざまな用途に利用できます。ウェブ開発において重要な機能の一つであるため、正しく理解して活用することが大切です。