ホームページ  >  記事  >  バックエンド開発  >  PHP での 9 つの定義済みスーパーグローバル変数の使用法の詳細な説明

PHP での 9 つの定義済みスーパーグローバル変数の使用法の詳細な説明

怪我咯
怪我咯オリジナル
2017-07-13 10:33:301887ブラウズ

PHP の多くの

定義済み変数は「スーパーグローバル」です。これは、スクリプトのスコープ全体で使用できることを意味します。これらは、 global $variable; を実行せずに、関数またはメソッド内でアクセスできます。

これらの

スーパーグローバル変数は次のとおりです:

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $_FILES

  • $ _ENV

  • $_COOKIE

  • $_SESSION

この記事では主にPHP9のスーパーグローバル変数を紹介します


1、$_SERVER

$_SERVERのスーパーグローバル変数にはWebによって作成された情報が含まれていますサーバーです。サーバーとクライアントの構成と現在のリクエスト環境に関する情報を提供します。 $_SERVER 内の変数の値や変数の数はサーバーによって異なりますが、一般的には CGI1.1 仕様で定義されている変数を見つけることができます。

$_SERVER['HTTP_REFERER']; ユーザーを現在の場所に誘導したページの URL


$_SERVER[' REQUEST_URI']; URL パス部分。 URL が [url]http://www.example.com/blog/apache/index.html[/url] の場合、URI は /blog/apache/index.html です。


$_SERVER['HTTP_USER_AGENT']; 通常、顧客のユーザー エージェントはオペレーティング システムとブラウザに関する情報を提供します。


2、$_GET

$_GET スーパーグローバル変数には、GET メソッドを使用して渡されるパラメーターに関する情報が含まれています。リクエスト URL が [url]http://www.example.com /index.html?cat=apache&id=157[/url] の場合、$_GET スーパー グローバル変数を使用して次の変数にアクセスできます: $ _GET['cat '] = "apache";

$_GET['id'] = "157";

デフォルトでは、$_GET スーパーグローバル変数は、GET メソッドを通じて渡された変数にアクセスする唯一の方法です。

3. $_POST

$_POST スーパーグローバル変数には、POST メソッドによって渡されるパラメーターに関する情報が含まれます。

コードは次のとおりです:

<form caction="subscribe.php" method="post">
  <p> Email address : <br>
    <input type="text" name="email" size="20" maxlength="so" value="">
  </p>
  <p> Password : <br>
    <input type="password" name="pswd" size="20" maxlength="15" value="">
  </p>
  <p>
    <input type="submit" name="subscribe" value="subscribe!">
  </p>
</form>
スクリプト submit.php を通じて、次の POST 変数
を使用できます:

$_POST[&#39;email&#39;] = " jason@example.com ";
$_POST[&#39;pswd&#39;] = "rainyday";
$_POST[&#39;subscribe&#39;] = "subscribe!";

$_GET と同じで、デフォルトでは、$_POST スーパー グローバル変数はPOST 変数 唯一の方法です。

4. $_COOKIE

$_COOKIE スーパーグローバル変数は、HTTP Cookie を通じてスクリプトに渡される情報を保存します。これらの Cookie は通常、PHP 関数 setcookie() を通じて、以前に実行された PHP スクリプトによって設定されます。たとえば、setcookie() を使用して、ab2213 の値を持つ example.com という名前の Cookie を保存するとします。この値は、後で $_COOKIE['example.com'] を呼び出すことで取得できます。

5. $_FILES

$_FILES スーパーグローバル変数には、POST メソッドを通じてサーバーにアップロードされたデータに関する情報が含まれます。このスーパー グローバル変数は他の変数とは異なり、5 つの要素を含む 2 次元配列 です。最初の添え字は、フォームの

ファイルアップロード

要素名を示します。2 番目の添え字は、アップロードされたファイルの特定の属性を説明する 5 つの事前定義された添え字の 1 つです:

$_FILES[&#39;upload-name&#39;][&#39;name&#39;]; 从客户端向服务器上传文件的文件名;
$_FILES[&#39;upload-name&#39;][&#39;type&#39;]; 上传文件的MIME类型,这个变量是否赋值取决于浏览器的功能。
$_FILES[&#39;upload-name&#39;][&#39;size&#39;]; 上传文件的大小(以字节为单位);
$_FILES[&#39;upload-name&#39;][&#39;tmp_name&#39;]; 上传之后,将此文件移到最终位置之前赋予的临时名。
$_FILES[&#39;upload-name&#39;][&#39;error&#39;]; 上传状态码。尽管这个变量的名为 error ,但实际上在成功的情况下也会填写这个变量。它有五个可能的值:
UPLOAD_ERR_OK 文件成功上传
UPLOAD_ERR_INI_SIZE 文件大小超出了 upload_max_filesize 指令所指定的最大值。
UPLOAD_ERR_FORM_SIZE 文件大小超出了MAX_FILE_SIZE 隐藏表单域参数(可选)指定的最大值。
UPLOAD_ERR_PARTIAL 文件只上传了一部分
UPLOAD_ERR_NO_FILE 上传表单中没有指定文件
6、$_ENV

$_ENV superグローバル変数は、PHP が解析するサーバー環境に関する情報を提供します。この配列内の変数は次のとおりです: $_ENV['HOSTNAME'] サーバーのホスト名

$_ENV['SHELL'] システム シェル

7、$_REQUEST

$_REQUEST スーパー グローバル変数は万能です。さまざまなメソッド、特に GET、POST、COOKIE を通じてスクリプトに渡された変数を記録します。 これらの変数の順序は、送信スクリプト内での変数の出現順序には依存せず、variables_order 構成ディレクティブで指定された順序に依存します。このスーパー変数は十分に安全ではないため、慎重に使用することをお勧めします。

8、$_SESSION

$_SESSION スーパーグローバル変数には、すべてのセッションに関連する情報が含まれます。セッション情報を登録すると、GET または POST で明示的にデータを渡さなくても、サイト全体でセッション情報を参照できるため便利です。

9. $GLOBALS

$GLOBALS スーパー グローバル変数配列は、グローバル スコープ内のすべての変数を含む、スーパー グローバル変数のスーパーセットと考えることができます。 $GLOBALS 内のすべての変数を表示するには、次のコードを実行します。 りー

以上がPHP での 9 つの定義済みスーパーグローバル変数の使用法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。