まず、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(ページが見つからない)ですが、この引数は省略可能です。
以下に、いくつかの具体的な例を示します。
- リダイレクトの例:
header('Location: http://example.com');
exit;
上記のコードは、現在のページをhttp://example.comにリダイレクトします。
- キャッシュ制御の例:
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
上記のコードは、ブラウザに対してキャッシュの使用を禁止し、常に最新のコンテンツを取得するよう指示します。
- セッション管理の例:
session_start();
// セッション変数の設定など...
if ($someCondition) {
header('Location: login.php');
exit;
}
上記のコードは、$someCondition
が真の場合にlogin.phpにリダイレクトします。セッション管理と組み合わせることで、認証などの機能を実装することができます。
これらは一部の例ですが、header関数はさまざまな用途に利用できます。ウェブ開発において重要な機能の一つであるため、正しく理解して活用することが大切です。