いくつかのスーパー グローバル変数 (スーパーグローバル) が PHP で事前定義されています。これは、それらがスクリプトのスコープ全体で使用できることを意味します。 特別な指示なしで関数やクラスで使用できます。
PHP スーパーグローバル変数リスト:
•$グローバル
•$_サーバー
•$_リクエスト
•$_ポスト
•$_GET
•$_FILES
•$_ENV
•$_クッキー
•$_セッション
この章では、一般的に使用されるいくつかのスーパー グローバル変数について説明し、残りの変数については次の数章で紹介します。
PHP $グローバル
$GLOBAL は PHP のスーパーグローバル変数グループで、PHP スクリプトのスコープ全体でアクセスできます。
$GLOBAL は、すべての変数を含むグローバル結合配列です。変数の名前は配列のキーです。
次の例では、スーパー グローバル変数 $GLOBAL の使用方法を紹介します。
上記の例では、z は $GLOBALS 配列内のスーパーグローバル変数であり、関数の外部からもアクセスできます。
PHP $_SERVER
$_SERVER は、ヘッダー、パス、スクリプトの場所などの情報を含む配列です。この配列内の項目は Web サーバーによって作成されます。すべてのサーバーがすべてのアイテムを提供するという保証はありません。サーバーは一部のアイテムを無視したり、ここにリストされていないアイテムを提供したりする可能性があります。
次の例は、$_SERVER の要素の使用方法を示しています:
次の表は、すべての $_SERVER 変数の重要な要素をリストしたものです:
要素/コード | 説明 |
---|---|
$_SERVER['PHP_SELF'] | ドキュメントルートに関連する、現在実行中のスクリプトのファイル名。たとえば、http://example.com/test.php/foo.bar のスクリプトで $_SERVER['PHP_SELF'] を使用すると、/test.php/foo.bar になります。 __FILE__ 定数には、現在の (つまり、ファイルを含む) ファイルの絶対パスとファイル名が含まれます。 PHP バージョン 4.3.0 以降、PHP がコマンド ライン モードで実行されている場合、この変数にはスクリプト名が含まれます。この変数は以前のバージョンでは使用できません。 |
$_SERVER['GATEWAY_INTERFACE'] | サーバーで使用される CGI 仕様のバージョン。たとえば、「CGI/1.1」。 |
$_SERVER['SERVER_ADDR'] | スクリプトが現在実行されているサーバーのIPアドレス。 |
$_SERVER['SERVER_NAME'] | スクリプトが現在実行されているサーバーのホスト名。スクリプトが仮想ホスト上で実行されている場合、名前はその仮想ホストに設定された値によって決まります。 (例: www.manongjc.com) |
$_SERVER['SERVER_SOFTWARE'] | リクエストに応答するときにヘッダー情報で指定されるサーバー識別文字列。 (例: Apache/2.2.24) |
$_SERVER['SERVER_PROTOCOL'] | ページをリクエストするときの通信プロトコルの名前とバージョン。たとえば、「HTTP/1.0」です。 |
$_SERVER['REQUEST_METHOD'] | ページにアクセスするために使用されるリクエストメソッド。たとえば、「GET」、「HEAD」、「POST」、「PUT」。 |
$_SERVER['REQUEST_TIME'] | リクエストが開始されたときのタイムスタンプ。 PHP 5.1.0 以降で利用可能です。 (例: 1377687496) |
$_SERVER['QUERY_STRING'] | クエリ文字列 (クエリ文字列) (存在する場合)。これを介してページ アクセスが実行されます。 |
$_SERVER['HTTP_ACCEPT'] | 現在のリクエストヘッダーに Accept: 項目の内容 (存在する場合)。 |
$_SERVER['HTTP_ACCEPT_CHARSET'] | 現在のリクエストヘッダー内の Accept-Charset: 項目の内容 (存在する場合)。例: 「iso-8859-1,*,utf-8」。 |
$_SERVER['HTTP_HOST'] | 現在のリクエストヘッダーにある Host: 項目の内容 (存在する場合)。 |
$_SERVER['HTTP_REFERER'] | ユーザー エージェントを現在のページの前のページのアドレスに誘導します (存在する場合)。ユーザーエージェント設定によって決定されます。すべてのユーザーエージェントがこの項目を設定するわけではなく、一部のユーザーエージェントは HTTP_REFERER を変更する機能も提供します。要するに、その値は信頼できません。 ) |
$_SERVER['HTTPS'] | スクリプトが HTTPS プロトコル経由でアクセスされる場合は、空ではない値に設定します。 |
$_SERVER['REMOTE_ADDR'] | 現在のページを閲覧しているユーザーのIPアドレス。 |
$_SERVER['REMOTE_HOST'] | 現在のページを閲覧しているユーザーのホスト名。 DNS 逆引き解決は、ユーザーの REMOTE_ADDR には依存しません。 |
$_SERVER['REMOTE_PORT'] | Web サーバーに接続するためにユーザーのマシンで使用されるポート番号。 |
$_SERVER['SCRIPT_FILENAME'] | 現在実行中のスクリプトの絶対パス。 |
$_SERVER['SERVER_ADMIN'] | この値は、Apache サーバー構成ファイルの SERVER_ADMIN パラメーターを指定します。スクリプトが仮想ホスト上で実行されている場合、この値はその仮想ホストの値になります。 (例:someone@manongjc.com) |
$_SERVER['SERVER_PORT'] | Webサーバーによって使用されるポート。デフォルト値は「80」です。 SSL セキュア接続を使用する場合、この値はユーザーが設定した HTTP ポートです。 |
$_SERVER['SERVER_SIGNATURE'] | サーバーのバージョンと仮想ホスト名を含む文字列。 |
$_SERVER['PATH_TRANSLATED'] | 現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。これは、サーバーが仮想パスから実際のパスにイメージ化された後の結果です。 |
$_SERVER['SCRIPT_NAME'] | 現在のスクリプトのパスが含まれます。これは、ページがそれ自体を指す必要がある場合に便利です。 __FILE__ 定数には、現在のスクリプト (インクルード ファイルなど) の完全なパスとファイル名が含まれます。 |
$_SERVER['SCRIPT_URI'] | URIはアクセスするページを指定するために使用されます。たとえば、「/index.html」です。 |
PHP $_REQUEST
PHP $_REQUEST 用于收集HTML表单提交的数据。
以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至