最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHP header() Function


<完全なPHPのHTTPリファレンス

定義と使用法

header()関数は、クライアントに、生のHTTPヘッダを送信します。

それに気づくことが重要であるheader()任意の実際の出力は(PHP 4以降では、あなたがこの問題を解決するために、出力バッファリングを使用することができます)が送信される前に呼び出される必要があります。

<html>
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>

構文

header(string,replace,http_response_code)

パラメーター 説明
string 必須。 送信するヘッダ文字列を指定します。
replace 任意。 ヘッダが前の交換または第二のヘッダを追加するかどうかを示します。 デフォルトはTRUEです(will replace) 。 FALSE (allows multiple headers of the same type)
http_response_code 任意。 指定された値にHTTPレスポンスコードを強制的に(available in PHP 4.3 and higher)

ヒントと注意事項

Note: PHP 4.4ので、この機能は、一度に送信される複数のヘッダを防止します。 これは、ヘッダインジェクション攻撃からの保護です。


例1

ページのキャッシングを防ぎます:

<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>

<html>
<body>

...
...

Note:ユーザーがブラウザのデフォルトのキャッシュ設定を変更するように設定するオプションがあります。 上記のヘッダを送信することにより、あなたはそれらの設定のいずれかをオーバーライドして、キャッシュしないようにブラウザを強制する必要があります!


例2

ユーザーは、(コンテンツ-Dispositionヘッダーを推奨ファイル名を指定して保存]ダイアログボックスを表示するには、ブラウザを強制するために使用される)生成されたPDFファイルを保存するように指示されてみましょう:

<?php
header("Content-type:application/pdf");

// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// The PDF source is in original.pdf
readfile("original.pdf");
?>

<html>
<body>

...
...

Note:作業からこれを防ぐのMicrosoft IE 5.5のバグがあります。 バグはService Pack 2以降にアップグレードすることで解決することができます。


<完全なPHPのHTTPリファレンス