|
|||||||
|
|
header説明int header ( string string [, bool replace [, int http_response_code]])header()関数は、HTMLファイル の送信に先立って、生のHTTPヘッダ文字列を送信 するために使用します。HTTPヘッダの詳細は、 HTTP 1.1 Specificationを参照 して下さい。 オプションのパラメータ replace は、ヘッダ が前に送信された類似のヘッダを置換するか、または、同じ形式の二番 目のヘッダを追加するかどうかを指定します。デフォルトでは、この関 数は、置換を行ないますが、二番目の引数にFALSE を指定すると、同 じ型の複数のヘッダを強制的に生成します。例えば、
第二オプション引数http_response_codeは HTTPレスポンスコードを強制的に指定の値にします。(この引数は PHP4.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認証の節も参照下さ い。 | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "PHP マニュアル". See Index Page for more info about Authorship and Copyright. 1999-2009 Linuxinfor.com. No rights reserved. |