PHPまとめ - ヘッダー

HOME | TOP

■ 生のHTTPヘッダーを送信する

PHPではヘッダーを書かなくても自動的に送信してくれています。

header()関数を使うことで、生のHTTPヘッダーを送信することができるようになります。

デフォルトで送信されているヘッダーのうちの代表的なものとしてCGIなどでもお馴染みの以下のものがある。

これはheader()関数を使って以下の記述をしたのと同等になる。

このContent-typeヘッダーでは送信文字コードを知らせることができるので以下のようにして送信するヘッダーを上書きすることができる。

これで送信したHTML文書がシフトJISで書かれていることをブラウザに教えることができます。

次はUTF-8の文字コードで書かれたテキスト文書を送信する時のヘッダーになります。



その他、Content-typeヘッダーを指定する使い方として以下のように画像データをPHPスクリプトから読み出して画像ファイルのように扱うこともできる。

[readfile.php]

このようなスクリプトを用意して、imgタグから画像ファイルとして呼び出せば画像が表示される。



PHPスクリプトを介してダウンロードさせる処理


■ ステータスコードを指定

ヘッダーの最初の一行には必ず『ステータスコード』という番号でサーバ側の状態を教えることになっています。

このステータスコードの番号もheader()関数を使っていろいろ操作することができます。

▼ 通常のステータスコード

これはリクエストされたページが問題なく送信される際に自動的に送信されるヘッダーの最初の行になります。



▼ ファイルが見つからない

▼ サーバ内部エラー発生

▼ なにもしない(元のページのまま)

■ 別のページに飛ばす

リダイレクトと言って、別のページに飛ばす方法があります。



▼ そのサイトの一番上の階層に飛ばす

Locationヘッダーを使ってリダイレクトさせています。



▼ 別のサイトに飛ばす

2010(C)Mingw