ホームページ >バックエンド開発 >PHPチュートリアル >PHP_php の例におけるグローバル変数の包括的な理解
いくつかのスーパー グローバル変数 (スーパーグローバル) が 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" 按钮提交表单数据时, 表单数据将发送至ff9c23ada1bcecdd1a0fb5d5a0f18437标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_REQUEST 来收集表单中的 input 字段数据:
<html> <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 form标签的指定该属性:"method="post"。
以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至ff9c23ada1bcecdd1a0fb5d5a0f18437标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_POST 来收集表单中的 input 字段数据:
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
$_GET 也可以收集URL中发送的数据。
假定我们有一个包含参数的超链接HTML页面:
<html> <body> <a href="test_get.php?subject=PHP&web=manongjc.com">Test $GET</a> </body> </html>
当用户点击链接 "Test $GET", 参数 "subject" 和 "web" 将发送至"test_get.php",你可以在 "test_get.php" 文件中使用 $_GET 变量来获取这些数据。
以下实例显示了 "test_get.php" 文件的代码:
<html> <body> <?php echo "Study " . $_GET['subject'] . " at " . $_GET['web']; ?> </body> </html>
提示: 你如果想学习更多关于 $_POST 和 $_GET 的知识,请访问我们的 PHP 表单 章节。
以上就是小编为大家带来的全面了解PHP中的全局变量全部内容了,希望大家多多支持脚本之家~