作成日:2006/05/18
2A.2 HTTP関連関数
| 構文 | 説明 |
|---|---|
void header ( string string [,bool replace [,int http_response_code]] ) |
HTML の送信に先立って、HTTPヘッダー文字列 string を送信するために使用します。 オプション引数 replace は、同じヘッダー が既に指定されていた場合、 そのヘッダーを置換(デフォルト)する場合は true を、強制的に同じ形式の二番目のヘッダを追加する場合は false を指定します。 オプション引数http_response_codeは HTTPレスポンメッセージのステータススコードを強制的に指定の値にします。( PHP4.3.0以降 ) header() 関数は、HTMLタグなどの PHP からのすべての出力の前にコールする必要があります。 ヘッダーが一旦送信されると header() 関数を使って新たなヘッダー行を送信することはできません。 但し、出力バッファリングを使用する事でこの問題に対処する事ができます。 用例は、以下の 「header()関数の使用例」 を参照して下さい。 |
bool headers_sent ([string &file [,int &line]] ) |
HTTPヘッダーが既に送信されている場合に TRUE、そうでな い場合に FALSE を返します。 オプション引数に file と line が指定された場合、ヘッダーを出力したPHPソースファイル名と、行番号を返します。( PHP4.30以降 ) ヘッダーが一旦送信されると header()関数 を使って新たなヘッダー行を送信することはできません。 この関数の使用目的は、このようなヘッダー関連のエラーを予防する事です。 |
bool setcookie(...) |
クッキーを送信します。 |
| シナリオ | 用例 |
|---|---|
| キャラクタコードの指定 |
header('Content-Type: text/html; charset=shift_jis');
// 良く使うcharset: Shift_JIS/EUC-JP/ISO-2022-JP
|
| 最終更新日のセット |
header("Last-Modified: " . gmdate("D, d M Y H:i:s",$mdate) . " GMT");
|
| リダイレクト |
header("Location: http://www.y2sunlight.com/");
|
| ページが無かった事にする |
header("HTTP/1.0 404 Not Found"); // ステータスラインを出力
|
| キャッシュを無効にする |
header("Cache-Control: no-cache");
header("Pragma: no-cache");
|
| CSVダウンロード |
// ダウンロードダイアログを出力
// filenameでダウンロード時のデフォルトファイル名を指定できます。
header("Content-type: application/x-csv");
header("Content-Disposition: attachment; filename=sample.csv");
// ブラウザに表示
header("Content-type: application/x-csv");
header("Content-Disposition: inline; filename=sample.csv");
IE5.5(SP2)、より古い場合はattachmentで正しく動作しない場合があります。
|
