PHPでは、 Header()関数は、生のHTTPメッセージヘッダーをクライアントに送信するための非常に重要なツールです。それを通して、ページのキャッシュ、リダイレクト、コンテンツタイプなどを制御できます。同時に、 headers_list()関数は、設定されたすべてのHTTPヘッダーを表示するのに役立ちます。これは、プログラムの動作のデバッグと理解に非常に役立ちます。
この記事では、header()とheaders_list()の使用方法を詳細に紹介し、コードの例を使用して使用をマスターするのに役立ちます。
Header()関数の基本的な構文は次のとおりです。
header(string $header, bool $replace = true, int $response_code = 0): void
$ヘッダー:コンテンツタイプ:Application/JSONなど、送信されるヘッダーコンテンツ。
$の置き換え:前の名前でヘッダーを同じ名前に置き換えるかどうか、デフォルトは真です。
$ response_code :HTTP応答ステータスコードを設定するオプションパラメーター。
一般的な使用法は次のとおりです。
header('Location: https://m66.net/new-page.php');
exit;
このコード行は、ブラウザをhttps://m66.net/new-page.phpにリダイレクトします。
header('Content-Type: application/json');
echo json_encode(['status' => 'ok']);
これにより、次のコンテンツがJSON形式であることをクライアントに伝えます。
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
これらのヘッダーは、キャッシュを禁止するために使用され、ユーザーが訪問するたびに最新のコンテンツを取得できるようにします。
CodeでHeader()を複数回呼び出すことがありますが、どのヘッダーが具体的に送信されますか?この時点で、 headers_list()は役に立ちます。
<?php
header('Content-Type: text/plain');
header('X-Custom-Header: CustomValue');
header('Location: https://m66.net/redirected');
$headers = headers_list();
echo "現在設定しています HTTP 頭:\n";
foreach ($headers as $h) {
echo $h . "\n";
}
?>
説明:
3つのヘッダーをセットアップします。
次に、 headers_list()を使用して、すべてのヘッダーを送信し、ラインごとに出力します。
このスクリプトを実行した後、次のような出力が表示されます。
Content-Type: text/plain
X-Custom-Header: CustomValue
Location: https://m66.net/redirected
ご注意ください:
スクリプトがすでにコンテンツを出力している場合( Echoなど)、 Header()を呼び出すと、「既に送信されたヘッダー」エラーが発生します。
したがって、ヘッダーを変更するときは、出力が発生する前にそれらがあることを確認してください。
関連タグ:
header