PHPスーパーグローバル
スーパーグローバル変数はPHP 4.1.0の後に有効になっているすべてのスコープのスクリプト内の変数が用意されていて、PHPシステムが付属しています。
PHPスーパーグローバル
PHPはスクリプト内のそれらすべてのスコープが使用可能であることを意味し、いくつかのスーパーグローバル変数(スーパーグローバル)を事前に定義しました。 あなたが関数やクラスを使用することができ、特別な指示を必要としません。
PHPスーパーグローバル変数リスト:
- $ GLOBALS
- $ _SERVER
- $ _REQUEST
- $ _POST
- $ _GET
- $ _FILES
- $ _ENV
- $ _COOKIE
- $ _SESSION
このセクションでは、変数は次のいくつかの章の残りの部分に導入される、いくつかの一般的なスーパーグローバル変数を説明します。
PHP $ GLOBALS
$ GLOBALSは、アクセスすることができるPHPスクリプトのすべてのスコープでは、PHPのグローバル変数のスーパーセットです。
$ GLOBALSは、すべてのグローバル変数の配列を含有する組成物です。 変数の名前はキーの配列です。
次の例では、スーパーグローバル変数$ GLOBALSを使用する方法について説明します。
例
$x = 75;
$y = 25;
function addition()
{
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
実行中のインスタンス»
例えば上記のZは、関数の外にアクセスすることができます$ GLOBALS配列スーパーグローバル変数です。
PHP $ _SERVER
$ _SERVERは、ヘッダ情報(ヘッダ)、パス(経路)の配列だけでなく、スクリプト(スクリプトの位置)の位置などの情報として含まれています。 Webサーバーによって作成されたアイテムのこの配列。 各サーバは、すべてのアイテムが利用可能であることを保証することはできません。サーバーには、いくつかを省略し、またはここに記載されていないいくつかのプログラムを提供することができます。
次の例では、$ _SERVER要素を使用する方法を示しています。
例
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
実行中のインスタンス»
次の表は、すべての変数$ _SERVER重要な要素を示しています。
エレメント/コード | 説明 |
---|---|
$ _SERVER [ 'PHP_SELF'] | 現在実行中のスクリプトファイル名、および関連するドキュメントルート。 例えば、/test.php/foo.barになりますアドレスhttp://example.com/test.php/foo.barスクリプト[ 'PHP_SELF']で$ _SERVERを使用します。 __FILE__定数は、フルパスと電流(例えば、構成する)ファイルのファイル名が含まれています。 PHPがコマンドラインモードで実行されている場合、PHP 4.3.0のバージョンから、この変数にはスクリプト名が含まれています。 変数の以前のバージョンでは利用できません。 |
$ _SERVER [ 'GATEWAY_INTERFACE'] | サーバが使用するCGI仕様のリビジョン;例えば、「CGI / 1.1 "。 |
$ _SERVER [ 'SERVER_ADDR'] | スクリプトを実行しているサーバーの現在のIPアドレスが配置されています。 |
$ _SERVER [ 'SERVER_NAME'] | サーバースクリプトのホスト名は、現在のです。 スクリプトがバーチャルホスト上で実行されている場合、名前はその決定仮想ホストの値によって設定されています。 (例:www.w3big.com) |
$ _SERVER [ 'SERVER_SOFTWARE'] | でレスポンスヘッダ上に書かれている、サーバの認識文字列です。 (例:Apacheの/ 2.2.24) |
$ _SERVER [ 'SERVER_PROTOCOL'] | ページの通信プロトコルの名前とバージョンを要求します。 例えば、「HTTP / 1.0 "。 |
$ _SERVER [ 'REQUEST_METHOD'] | 依頼方法は、ページにアクセスするために使用される;例えば、「ヘッド」「GET」、「POST」は、「PUT」。 |
$ _SERVER [ 'REQUEST_TIME'] | 開始の要求のタイムスタンプ。 5.1.0 PHPから入手可能です。 (例:1377687496) |
$ _SERVER [ 'QUERY_STRING'] | そのページビューを介してクエリ文字列(クエリ文字列)、もしあれば、。 |
$ _SERVER [ 'HTTP_ACCEPT'] | 現在のリクエストヘッダは受け入れ:コンテンツアイテムを、もしあれば。 |
$ _SERVER [ 'HTTP_ACCEPT_CHARSET'] | 現在のリクエストヘッダは受け入れ-文字セットを:コンテンツアイテムを、もしあれば。 例えば: "ISO-8859-1、*、UTF-8」。 |
$ _SERVER [ 'HTTP_HOST'] | 現在のリクエストヘッダーホスト:コンテンツアイテム、もしあれば。 |
$ _SERVER [ 'HTTP_REFERER'] | (存在する場合)は、前のページの現在のアドレスにユーザーエージェントを案内します。 ユーザエージェントの設定によって。 全てのユーザエージェントは、これを設定し、いくつかはまた、HTTP_REFERERを変更する機能を提供します。 簡潔には、この値は信頼できません。 ) |
$ _SERVER [ 'HTTPS'] | スクリプトがHTTPSプロトコルを介してアクセスされた場合は、null以外の値に設定されました。 |
$ _SERVER [ 'REMOTE_ADDR'] | 現在のページの表示、ユーザーのIPアドレス。 |
$ _SERVER [ 'REMOTE_HOST'] | 現在のページのユーザーのホスト名を参照します。 逆引きDNSは、ユーザーのREMOTE_ADDRに依存しません。 |
$ _SERVER [ 'REMOTE_PORT'] | ユーザーのマシン上のWebサーバーが使用するポート番号に接続されています。 |
$ _SERVER [ 'SCRIPT_FILENAME'] | 現在実行中のスクリプトの絶対パス。 |
$ _SERVER [ 'SERVER_ADMIN'] | この値は、Apacheサーバの設定ファイルのSERVER_ADMINパラメータを示しています。 スクリプトがバーチャルホスト上で実行されている場合、その値は、その仮想ホストに対して定義されました。 (例:[email protected]) |
$ _SERVER [ 'SERVER_PORT'] | ポートWebサーバー。 デフォルト値は「80」であります あなたはSSLセキュア接続を使用する場合、この値は、ユーザーのHTTPポートによって設定されます。 |
$ _SERVER [ 'SERVER_SIGNATURE'] | サーバのバージョンおよび仮想ホスト名を含むString。 |
$ _SERVER [ 'PATH_TRANSLATED'] | 現在のスクリプトのファイルシステムは(ルートディレクトリを文書化していない)ベースパス。 これは、仮想 - 実画像の後にサーバーの結果です。 |
$ _SERVER [ 'SCRIPT_NAME'] | これは、現在のスクリプトのパスが含まれています。 これは自身のページを指定するのに便利です。 完全なパスとファイル名__FILE__定数は現在のスクリプトが(例えば、ファイルが含まれている)が含まれています。 |
$ _SERVER [ 'SCRIPT_URI'] | URIは、アクセスしたいページを指定するために使用されます。 例えば「/index.htmlが」。 |
PHP $ _REQUEST
PHP $ _REQUEST HTMLフォームが送信されたデータを収集するために使用されます。
次の例では、入力フィールド(入力)と送信ボタン(送信)フォーム(フォーム)を示しています。 ユーザーがボタンを「送信」をクリックして、フォームデータを送信すると、フォームデータは、action属性で指定されたスクリプトファイルの<form>タグに送信されます。 この例では、フォームデータを処理するためのファイルを指定します。 あなたは他のPHPファイルは、データを処理したい場合は、指定されたスクリプトファイル名を変更することができます。 私たちは、その後、入力のフォームのフィールドのデータを収集するために、スーパーグローバル変数$ _REQUESTを使用することができます。
例
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_REQUEST['fname'];
echo $name;
?>
</body>
</html>
実行中のインスタンス»
PHP $ _POST
"メソッド="ポスト ":PHP $ _POSTは広く、フォームデータを収集するHTMLフォームタグ内の属性を指定するために使用されています。
次の例では、入力フィールド(入力)と送信ボタン(送信)フォーム(フォーム)を示しています。 ユーザーがボタンを「送信」をクリックして、フォームデータを送信すると、フォームデータは、action属性で指定されたスクリプトファイルの<form>タグに送信されます。 この例では、フォームデータを処理するためのファイルを指定します。 あなたは他のPHPファイルは、データを処理したい場合は、指定されたスクリプトファイル名を変更することができます。 私たちは、その後、入力のフォームのフィールドのデータを収集するためにスーパーグローバルの$ _POSTを使用することができます。
例
<ボディ>
<フォームのメソッド= "ポスト"アクション= "<PHPのecho $ _SERVER [ 'PHP_SELF'];?>">
名前:の<input type = "text" NAME = "fnameに">
<入力タイプ=「送信」>
</フォーム>
<?PHPの
$名= $ _POST [ 'fnameの'];
$名をエコー。
?>
</ BODY>
</ HTML>
実行中のインスタンス»
PHP $ _GET
"メソッド=" "を得る:PHP $ _GETも広く、フォームデータを収集するHTMLフォームタグ内の属性を指定するために使用されて。
$ _GET URLはまた、送信されたデータを収集することができます。
私たちは、ハイパーリンクのHTMLページが含まれているパラメータがあるとします。
<ボディ>
<a href="test_get.php?subject=PHP&web=w3big.com">テスト$ GETします</a>
</ BODY>
</ HTML>
ユーザーがリンク「テストの$ GET」をクリックすると、パラメータ「対象」および「ウェブ」は「test_get.php」に送信され、あなたはこれらのデータを取得するために$ _GET変数「test_get.php」ファイルを使用することができます。
次の例では、コード "test_get.php」ファイルを示しています。
例
<ボディ>
<?PHPの
エコー "研究" "で" $ _GET [ '件名'] $ _GET [ 'ウェブ'] ...;
?>
</ BODY>
</ HTML>
実行中のインスタンス»
ヒント:あなたは$ _POSTや$ _GET知識についてもっと学びたいのであれば、私たちをご覧くださいPHPのフォームの章を。