| | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
header説明void header ( string string [, bool replace [, int http_response_code]] )header() 関数は、HTML ファイルの 送信に先立って、生の HTTP ヘッダ文字列を送信するために 使用します。HTTP ヘッダの詳細は、 HTTP 1.1 Specification を 参照してください。
オプションのパラメータ replace は、ヘッダが 前に送信された類似のヘッダを置換するか、または、同じ形式の二番目の ヘッダを追加するかどうかを指定します。デフォルトでは、この関数は 置換を行ないますが、二番目の引数に FALSE を指定すると、同じ型の の複数のヘッダを強制的に生成します。例えば、
第二オプション引数 http_response_code は HTTP レスポンスコードを強制的に指定の値にします(この引数は PHP 4.3.0 以降で有効です)。 特殊な header コールが 2 種類あります。最初のものは、 文字列 "HTTP/" から始まる全てのヘッダ(大文字・小文字は区別されません)です。このヘッダは、 送信する HTTP ステータスコードを示すために使用されます。 例えば、存在しないファイルへのリクエストを処理するためにある PHP スクリプトを使用するよう(ErrorDocumentディレクティブ により)Apache を設定する場合、そのスクリプトが正しいステータスコードを 返すようにする必要があります。
2番目の特別なヘッダは、"Location" ヘッダです。このヘッダがブラウザに返されるだけではなく、 ブラウザに REDIRECT (302)ステータスコードを返します (3xx ステータスコードが既に送信されていない場合にのみ)。
PHP スクリプトはしばしば動的に HTML を生成するため、クライアント ブラウザやサーバおよびクライアントブラウザの間でプロキシがキャッシュを 行ったりするべきではありません。多くのプロキシとクライアントでは、 以下のコードにより強制的にキャッシュを無効にできます。
覚えておいて頂きたいのは、header() 関数は、 通常の HTML タグまたは PHP からの出力にかかわらず、すべての実際の 出力の前にコールする必要があることです。 頻出するエラーとして、include() または require() 関数、他のファイルをアクセスする関数に 空白または空行があり、header() の前に出力が 行われてしまうというものがあります。同じ問題は、単一の PHP/HTML ファイルを使用している場合でも存在します。
PDF ファイルを生成するといったように送信するデータを保存するかどうか ユーザにプロンプトを表示したい場合、推奨されるファイル名を指定して ブラウザに保存ダイアログを表示させるContent-Disposition ヘッダを使用可能です。
headers_sent(), setcookie() および HTTP 認証 の節も参照ください。 |
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「header」をGoogle検索
|