ホームページ  >  記事  >  バックエンド開発  >  PHP での $_SERVER の詳細な使用法

PHP での $_SERVER の詳細な使用法

不言
不言オリジナル
2018-04-04 10:12:2715420ブラウズ

この記事の内容は、PHP での $_SERVER の詳細な使用法です。これをみんなと共有し、困っている友人にも参考にしていただけます

$_SERVER['PHP_SELF'] #現在のファイル名スクリプトを実行し、ルート関連のドキュメントを作成します。
$_SERVER['argv'] #スクリプトに渡されるパラメータ。
$_SERVER['argc'] # プログラムに渡されるコマンド ライン パラメーターの数が含まれます (コマンド ライン モードで実行している場合)。
$_SERVER['GATEWAY_INTERFACE'] #サーバーで使用される CGI 仕様のバージョン。たとえば、「CGI/1.1」です。
$_SERVER['SERVER_NAME'] #スクリプトが現在実行されているサーバーホストの名前。
$_SERVER['SERVER_SOFTWARE'] #リクエストに応答するときにヘッダーで指定される、サーバーを識別する文字列。
$_SERVER['SERVER_PROTOCOL'] #ページをリクエストするときの通信プロトコルの名前とバージョン。たとえば、「HTTP/1.0」です。
$_SERVER['REQUEST_METHOD'] #ページにアクセスするときのリクエストメソッド。例: 「GET」、「HEAD」、「POST」、「PUT」。
$_SERVER['QUERY_STRING'] #クエリ文字列。
$_SERVER['DOCUMENT_ROOT'] #現在実行中のスクリプトが配置されているドキュメントのルート ディレクトリ。サーバー構成ファイルで定義されます。
$_SERVER['HTTP_ACCEPT'] #現在のリクエストの Accept: ヘッダーの内容。
$_SERVER['HTTP_ACCEPT_CHARSET'] #現在のリクエストの Accept-Charset: ヘッダーの内容。例: 「iso-8859-1,*,utf-8」。
$_SERVER['HTTP_ACCEPT_ENCODING'] #現在のリクエストの Accept-Encoding: ヘッダーの内容。例:「gzip」。
$_SERVER['HTTP_ACCEPT_LANGUAGE']#現在のリクエストの Accept-Language: ヘッダーの内容。例:「エン」。
$_SERVER['HTTP_CONNECTION'] #接続の内容: 現在のリクエストのヘッダー。例:「キープアライブ」。
$_SERVER['HTTP_HOST'] #ホストの内容: 現在のリクエストのヘッダー。
$_SERVER['HTTP_REFERER'] #現在のページにリンクされている前のページの URL アドレス。
$_SERVER['HTTP_USER_AGENT'] #User_Agent: の内容: 現在のリクエストのヘッダー。
$_SERVER['HTTPS'] — https 経由でアクセスされた場合は空ではない値 (on) に設定され、それ以外の場合は off を返します
$_SERVER['REMOTE_ADDR'] #現在のページ。
$_SERVER['REMOTE_HOST'] #現在のページを閲覧しているユーザーのホスト名。
$_SERVER['REMOTE_PORT'] #ユーザーがサーバーに接続するために使用するポート。
$_SERVER['SCRIPT_FILENAME'] #現在実行中のスクリプトの絶対パス名。
$_SERVER['SERVER_ADMIN'] #管理者情報
$_SERVER['SERVER_PORT'] #サーバーが使用するポート
$_SERVER['SERVER_SIGNATURE'] #サーバーのバージョンと仮想ホスト名を含む文字列。
$_SERVER['PATH_TRANSLATED'] #現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。
$_SERVER['SCRIPT_NAME'] #現在のスクリプトのパスが含まれます。これは、ページがそれ自体を指す必要がある場合に便利です。
$_SERVER['REQUEST_URI'] #このページにアクセスするために必要な URI。たとえば、「/index.html」です。
$_SERVER['PHP_AUTH_USER'] #PHP が Apache モジュール モードで実行され、HTTP 認証関数を使用している場合、この変数はユーザーが入力したユーザー名です。
$_SERVER['PHP_AUTH_PW'] #PHP が Apache モジュール モードで実行され、HTTP 認証機能を使用している場合、この変数はユーザーが入力したパスワードです。
$_SERVER['AUTH_TYPE'] #PHP が Apache モジュール モードで実行され、HTTP 認証関数を使用している場合、この変数は認証タイプです。
$_SERVER["HTTP_X_FORWARDED_FOR"] #プロキシサーバー経由でクライアントの実際のIPアドレスを取得します
$_SERVER['HTTP_VIA'] #プロキシサーバーIP
$_SERVER['HTTP_CLIENT_IP'] #クライアントIP

サーバー変数: $_SERVER

注: PHP 4.1.0 以降のバージョンで使用されます。以前のバージョンでは、$HTTP_SERVER_VARS が使用されていました。

$_SERVER は、ヘッダー、パス、スクリプトの場所などを含む配列です。配列のエンティティは Web サーバーによって作成されます。すべてのサーバーがすべてのメッセージを生成するという保証はありません。サーバーは一部のメッセージを無視したり、以下にリストされていない新しいメッセージを生成したりする可能性があります。これは、これらの変数の多くが CGI 1.1 仕様で指定されているため、注意深く検討する必要があることを意味します。

これは「スーパーグローバル」、または自動グローバル変数として説明できます。これは、すべてのスクリプトで機能することを意味します。 $HTTP_SERVER_VARS のように、関数またはメソッド内でアクセスするためにグローバル $_SERVER を使用する必要はありません。

$HTTP_SERVER_VARS には同じ情報が含まれていますが、自動グローバル変数ではありません。 (注: $HTTP_SERVER_VARS と $_SERVER は異なる変数であり、PHP はそれらを別々に処理します。)

register_globals ディレクティブが設定されている場合、つまり $_SERVER と $HTTP_SERVER_VARS が分離された配列である場合、これらの変数はすべてのスクリプトでも使用できます。関連情報については、「レジスタ グローバルの使用」のセキュリティ関連の章を参照してください。これらの個々のグローバル変数は、自動グローバル変数ではありません。

以下にリストされている $_SERVER 要素の一部が使用できない場合があります。コマンドラインから PHP を実行する場合、以下にリストされている要素の一部は有効である (または実際の意味を持たない) ことに注意してください。

"PHP_SELF"
ドキュメントルートに関連する、現在実行中のスクリプトのファイル名。たとえば、URL アドレス
http://easyboor.com/test.php/foo.bar を指定してスクリプト内で $_SERVER['PHP_SELF'] を使用すると、/test.php/foo.bar の結果が得られます。

PHP がコマンドラインモードで実行されている場合、この変数は効果がありません。

"argv"
このスクリプトに渡される引数。スクリプトがコマンド ライン モードで実行されると、argv 変数が C スタイルのコマンド ライン引数としてプログラムに渡されます。 GET メソッドが呼び出されると、この変数には要求されたデータが含まれます。

"argc"
プログラムに渡されるコマンド ライン引数の数が含まれます (コマンド ライン モードで実行している場合)。

"GATEWAY_INTERFACE"
サーバーによって使用される CGI 仕様のバージョン。たとえば、「CGI/1.1」です。

'SERVER_NAME'
スクリプトが現在実行されているサーバーホストの名前。スクリプトが仮想ホスト上で実行されている場合、名前はその仮想ホストに設定された値によって決まります。

'SERVER_SOFTWARE'
リクエストに応答するときにヘッダーに指定される、サーバーを識別する文字列。

"SERVER_PROTOCOL"
ページをリクエストするときの通信プロトコルの名前とバージョン。たとえば、「HTTP/1.0」です。

"REQUEST_METHOD"
ページにアクセスする際のリクエストメソッド。例: 「GET」、「HEAD」、「POST」、「PUT」。

"QUERY_STRING"
クエリの文字列。

"DOCUMENT_ROOT"
現在実行中のスクリプトが配置されているドキュメントのルート ディレクトリ。サーバー構成ファイルで定義されます。

"HTTP_ACCEPT"
現在のリクエストの Accept: ヘッダーの内容。

"HTTP_ACCEPT_CHARSET"
現在のリクエストの Accept-Charset: ヘッダーの内容。例: 「iso-8859-1,*,utf-8」。

"HTTP_ACCEPT_ENCODING"
現在のリクエストの Accept-Encoding: ヘッダーの内容。例:「gzip」。

"HTTP_ACCEPT_LANGUAGE"
現在のリクエストの Accept-Language: ヘッダーの内容。例:「エン」。

"HTTP_CONNECTION"
Connection の内容: 現在のリクエストのヘッダー。例:「キープアライブ」。

"HTTP_HOST"
ホストの内容: 現在のリクエストのヘッダー。

"HTTP_REFERER"
現在のページにリンクされている前のページの URL アドレス。すべてのユーザー エージェント (ブラウザー) がこの変数を設定するわけではなく、一部のユーザー エージェント (ブラウザー) は HTTP_REFERER を手動で変更することもできます。したがって、この変数は常に真であるとは限りません。

"HTTP_USER_AGENT"
User_Agent: 現在のリクエストのヘッダーの内容。この文字列は、このページにアクセスするユーザー エージェントに関する情報を示します。典型的な例は次のとおりです: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。 get_browser() を使用してこの情報を取得することもできます。

"REMOTE_ADDR"
現在のページを閲覧しているユーザーの IP アドレス。

'REMOTE_HOST'
現在のページを閲覧しているユーザーのホスト名。逆ドメイン名解決は、ユーザーの REMOTE_ADDR に基づきます。

注: この変数を作成するように Web サーバーを構成する必要があります。たとえば、Apache では httpd.conf で HostnameLookups On が必要です。 gethostbyaddr() を参照してください。

"REMOTE_PORT"
ユーザーがサーバーに接続するために使用するポート。

"SCRIPT_FILENAME"
現在実行中のスクリプトの絶対パス名。

"SERVER_ADMIN"
この値は、Apache サーバー設定ファイルの SERVER_ADMIN パラメータを指定します。スクリプトが仮想ホスト上で実行されている場合、この値はその仮想ホストの値になります。

"SERVER_PORT"
サーバーによって使用されるポート。デフォルトは「80」です。 SSL セキュア接続を使用する場合、この値は設定した HTTP ポートになります。

"SERVER_SIGNATURE"
サーバーのバージョンと仮想ホスト名を含む文字列。

"PATH_TRANSLATED"
現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルートではありません)。これは、サーバーが仮想パスから実際のパスにイメージ化された後の結果です。

"SCRIPT_NAME"
には、現在のスクリプトへのパスが含まれます。これは、ページがそれ自体を指す必要がある場合に便利です。

"REQUEST_URI"
このページにアクセスするために必要な URI。たとえば、「/index.html」です。

"PHP_AUTH_USER"
PHP が Apache モジュール モードで実行され、HTTP 認証関数を使用している場合、この変数はユーザーが入力したユーザー名です。

"PHP_AUTH_PW"
PHP が Apache モジュール モードで実行され、HTTP 認証機能を使用している場合、この変数はユーザーが入力したパスワードになります。

"AUTH_TYPE"
PHP が Apache モジュール モードで実行され、HTTP 認証関数を使用している場合、この変数は認証タイプです。関連する推奨事項:php

phpの$ _server関数分析の$ _serverでの$ _serverの使用に関するsharing $ _serverの使用の要約


以上がPHP での $_SERVER の詳細な使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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