PHPスーパーグローバル変数
5638 ワード
前言:
php中$REQUESTはPOSTメソッドとGETメソッドでコミットされたデータを取得できるが,速度は比較的遅い.
$_GETメソッド:転送データ量が小さく、2 KBを超えることはできません.
PHPグローバル変数-スーパーグローバル変数
PHPの定義済み変数の多くは「スーパーグローバル」であり、スクリプトのすべての役割ドメインで使用できることを意味します.関数またはメソッドでglobal$variableを実行する必要はありません.アクセスできます.
これらのスーパーグローバル変数は次のとおりです.
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
このセクションでは、スーパーグローバル変数について説明し、後述する他のスーパーグローバル変数について説明します.
$GLOBALS-グローバル役割ドメインで使用可能なすべての変数を参照
$GLOBALSというグローバル変数は、PHPスクリプト内の任意の場所でグローバル変数にアクセスするために使用されます(関数またはメソッドから使用できます).
PHPは$GLOBALS[index]という配列にすべてのグローバル変数を格納している.変数の名前は配列のキーです.
次の例では、スーパーグローバル変数$GLOBALSの使用方法を示します.
≪インスタンス|Instance|emdw≫
インスタンスの実行
上記の例では、zは$GLOBALS配列の変数であるため、関数以外でもアクセス可能である.
PHP $_SERVER
$_SERVERというスーパーグローバル変数は、ヘッダ、パス、スクリプトの位置に関する情報を保存します.
次の例では、$_の使用方法を示します.SERVERの一部の要素:
≪インスタンス|Instance|emdw≫
インスタンスの実行
次の表に、$SERVERでアクセスする最も重要な要素:
要素/コード
説明
$_SERVER['PHP_SELF']
現在の実行スクリプトのファイル名を返します.
$_SERVER['GATEWAY_INTERFACE']
サーバで使用されているCGI仕様のバージョンを返します.
$_SERVER['SERVER_ADDR']
現在実行中のスクリプトがあるサーバのIPアドレスを返します.
$_SERVER['SERVER_NAME']
現在実行されているスクリプトがあるサーバのホスト名(www.w 3 school.com.cnなど)を返します.
$_SERVER['SERVER_SOFTWARE']
サーバ識別文字列(Apache/2..24など)を返します.
$_SERVER['SERVER_PROTOCOL']
要求ページを返すときの通信プロトコルの名前とバージョン(たとえば、「HTTP/1.0」).
$_SERVER['REQUEST_METHOD']
アクセスページで使用されるリクエストメソッド(POSTなど)を返します.
$_SERVER['REQUEST_TIME']
要求の開始時のタイムスタンプ(たとえば、1577687494)を返します.
$_SERVER['QUERY_STRING']
このページにアクセスする場合は、クエリー文字列を返します.
$_SERVER['HTTP_ACCEPT']
現在のリクエストからのリクエストヘッダを返します.
$_SERVER['HTTP_ACCEPT_CHARSET']
現在のリクエストからAccept_を返します.Charsetヘッダ(例えばutf-8,ISO-8859-1)
$_SERVER['HTTP_HOST']
現在のリクエストからのHostヘッダを返します.
$_SERVER['HTTP_REFERER']
すべてのユーザーエージェントがサポートしているわけではないため、現在のページの完全なURLを返します.
$_SERVER['HTTPS']
セキュリティHTTPプロトコルでスクリプトを問い合わせるかどうか.
$_SERVER['REMOTE_ADDR']
現在のページを参照しているユーザーのIPアドレスを返します.
$_SERVER['REMOTE_HOST']
現在のページを参照しているユーザーのホスト名を返します.
$_SERVER['REMOTE_PORT']
ユーザーマシンでWebサーバに接続するポート番号を返します.
$_SERVER['SCRIPT_FILENAME']
現在の実行スクリプトの絶対パスを返します.
$_SERVER['SERVER_ADMIN']
この値は、ApacheサーバプロファイルのSERVER_を示します.ADMINパラメータ.
$_SERVER['SERVER_PORT']
Webサーバが使用するポート.既定値は80です.
$_SERVER['SERVER_SIGNATURE']
サーババージョンと仮想ホスト名を返します.
$_SERVER['PATH_TRANSLATED']
現在のスクリプトが存在するファイルシステム(ドキュメントルートディレクトリ以外)の基本パス.
$_SERVER['SCRIPT_NAME']
現在のスクリプトのパスを返します.
$_SERVER['SCRIPT_URI']
現在のページのURIを返します.
PHP $_REQUEST
PHP $_REQUESTは、HTMLフォームから送信されたデータを収集するために使用されます.
次の例では、入力フィールドとコミットボタンを含むフォームを示します.ユーザーがコミットボタンをクリックしてフォームデータをコミットすると、フォームデータは
php中$REQUESTはPOSTメソッドとGETメソッドでコミットされたデータを取得できるが,速度は比較的遅い.
$_GETメソッド:転送データ量が小さく、2 KBを超えることはできません.
PHPグローバル変数-スーパーグローバル変数
PHPの定義済み変数の多くは「スーパーグローバル」であり、スクリプトのすべての役割ドメインで使用できることを意味します.関数またはメソッドでglobal$variableを実行する必要はありません.アクセスできます.
これらのスーパーグローバル変数は次のとおりです.
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
このセクションでは、スーパーグローバル変数について説明し、後述する他のスーパーグローバル変数について説明します.
$GLOBALS-グローバル役割ドメインで使用可能なすべての変数を参照
$GLOBALSというグローバル変数は、PHPスクリプト内の任意の場所でグローバル変数にアクセスするために使用されます(関数またはメソッドから使用できます).
PHPは$GLOBALS[index]という配列にすべてのグローバル変数を格納している.変数の名前は配列のキーです.
次の例では、スーパーグローバル変数$GLOBALSの使用方法を示します.
≪インスタンス|Instance|emdw≫
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
インスタンスの実行
上記の例では、zは$GLOBALS配列の変数であるため、関数以外でもアクセス可能である.
PHP $_SERVER
$_SERVERというスーパーグローバル変数は、ヘッダ、パス、スクリプトの位置に関する情報を保存します.
次の例では、$_の使用方法を示します.SERVERの一部の要素:
≪インスタンス|Instance|emdw≫
<?php
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']
現在の実行スクリプトのファイル名を返します.
$_SERVER['GATEWAY_INTERFACE']
サーバで使用されているCGI仕様のバージョンを返します.
$_SERVER['SERVER_ADDR']
現在実行中のスクリプトがあるサーバのIPアドレスを返します.
$_SERVER['SERVER_NAME']
現在実行されているスクリプトがあるサーバのホスト名(www.w 3 school.com.cnなど)を返します.
$_SERVER['SERVER_SOFTWARE']
サーバ識別文字列(Apache/2..24など)を返します.
$_SERVER['SERVER_PROTOCOL']
要求ページを返すときの通信プロトコルの名前とバージョン(たとえば、「HTTP/1.0」).
$_SERVER['REQUEST_METHOD']
アクセスページで使用されるリクエストメソッド(POSTなど)を返します.
$_SERVER['REQUEST_TIME']
要求の開始時のタイムスタンプ(たとえば、1577687494)を返します.
$_SERVER['QUERY_STRING']
このページにアクセスする場合は、クエリー文字列を返します.
$_SERVER['HTTP_ACCEPT']
現在のリクエストからのリクエストヘッダを返します.
$_SERVER['HTTP_ACCEPT_CHARSET']
現在のリクエストからAccept_を返します.Charsetヘッダ(例えばutf-8,ISO-8859-1)
$_SERVER['HTTP_HOST']
現在のリクエストからのHostヘッダを返します.
$_SERVER['HTTP_REFERER']
すべてのユーザーエージェントがサポートしているわけではないため、現在のページの完全なURLを返します.
$_SERVER['HTTPS']
セキュリティHTTPプロトコルでスクリプトを問い合わせるかどうか.
$_SERVER['REMOTE_ADDR']
現在のページを参照しているユーザーのIPアドレスを返します.
$_SERVER['REMOTE_HOST']
現在のページを参照しているユーザーのホスト名を返します.
$_SERVER['REMOTE_PORT']
ユーザーマシンでWebサーバに接続するポート番号を返します.
$_SERVER['SCRIPT_FILENAME']
現在の実行スクリプトの絶対パスを返します.
$_SERVER['SERVER_ADMIN']
この値は、ApacheサーバプロファイルのSERVER_を示します.ADMINパラメータ.
$_SERVER['SERVER_PORT']
Webサーバが使用するポート.既定値は80です.
$_SERVER['SERVER_SIGNATURE']
サーババージョンと仮想ホスト名を返します.
$_SERVER['PATH_TRANSLATED']
現在のスクリプトが存在するファイルシステム(ドキュメントルートディレクトリ以外)の基本パス.
$_SERVER['SCRIPT_NAME']
現在のスクリプトのパスを返します.
$_SERVER['SCRIPT_URI']
現在のページのURIを返します.
PHP $_REQUEST
PHP $_REQUESTは、HTMLフォームから送信されたデータを収集するために使用されます.
次の例では、入力フィールドとコミットボタンを含むフォームを示します.ユーザーがコミットボタンをクリックしてフォームデータをコミットすると、フォームデータは