端くれプログラマの備忘録 PHP [PHP] headerの使い方

[PHP] headerの使い方

オンラインマニュアルからサンプルを抜粋。

PHP: header – Manual
http://php.net/manual/ja/function.header.php

HTTPステータスコードの送出

header("HTTP/1.0 404 Not Found");

ロケーションヘッダの送出

header('Location: http://www.example.com/'); //Found(302) 一時的移動
header('Location: http://www.example.com/', true, 301); //Moved Permanently(301) 恒久的移動

ダウンロードダイアログ

PDF ファイルを生成した場合など、 それをダウンロードするかの確認ダイアログを表示させたいことがあるでしょう。 そんな場合は、Content-Disposition ヘッダを使用してファイル名を指定すると、ブラウザ側でダイアログを表示させることができます。

// PDFを出力します
header('Content-Type: application/pdf');

// downloaded.pdf という名前で保存させます
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// もとの PDF ソースは original.pdf です
readfile('original.pdf');

キャッシュディレクティブ

PHP スクリプトはしばしば動的に HTML を生成するため、クライアント ブラウザやサーバーおよびクライアントブラウザの間でプロキシがキャッシュを 行ったりするべきではありません。多くのプロキシとクライアントでは、 以下のコードにより強制的にキャッシュを無効にできます。

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // 過去の日付