php事前定義変数の_SERVER変数

5221 ワード

この記事のソース:http://docs.php.net/manual/zh/reserved.variables.server.php   $_SERVER-サーバと実行環境情報
説明
$uSERVERは、ヘッダ情報、パス(path)、スクリプト位置などの情報を含む配列である。この配列の項目はWebサーバで作成されます。各サーバーがすべての項目を提供することは保証できません。サーバーは無視するか、ここに挙げられていない項目を提供するかもしれません。これは、大量のこのような変数がCGI 1.1仕様で説明されることを意味しますので、よく検討してください。
目次
にありますSERVERでは、これらの要素を見つけることができないかもしれません。注意、命令ラインでPHPを実行すると、以下に示す要素はほとんど有効ではありません(または実際の意味はありません)。
 
'PHP_SELF
現在実行されているスクリプトのファイル名は、document rootに関連しています。例えば、住所はhttp://example.com/test.php/foo.bar のシナリオで$SERVER['PHP SELF']は/test.php/foo.barを取得します。__FILE_定数は、現在(例えば、含む)ファイルのフルパスとファイル名を含んでいます。
PHP 4.3.0バージョンからPHPがコマンドラインモードで動作すると、この変数にはスクリプト名が含まれます。以前のバージョンはこの変数が利用できませんでした。
'argv'
スクリプトに渡すパラメータの配列。スクリプトがコマンドラインで実行されると、argv変数はプログラムC言語スタイルのコマンドラインパラメータに伝達されます。GET方式で起動すると、この変数はquery stringを含む。
'argc'
コマンドラインモードでスクリプトに渡すパラメータの数(コマンドラインモードで実行される場合)が含まれます。
'GATEWAY_INTERS FACE
サーバーが使用するCGI仕様のバージョン。例えば、「CGI/1.1」。
'SERVER_ADDR
現在、スクリプトが実行されているサーバのIPアドレスです。
'SERVER_NAME
現在、スクリプトが実行されているサーバのホスト名です。スクリプトが仮想ホストに実行される場合、その名前はその仮想ホストによって設定された値によって決定される。
'SERVER_SOFTWARE
サーバは文字列を識別し、応答要求時のヘッダ情報に与えます。
'SERVER_PROTOCOL
ページ要求時の通信プロトコルの名前とバージョン。例えば、「HTTP/1.0」。
'REQUST_METHOD
ページにアクセスするための要求方法。例えば、「GET」、「HEAD」、「POST」、「PUT」。
ノート:
要求方法がHEADであれば、PHPスクリプトはヘッド情報を送信した後に終了します。
 
'REQUST_TIME
開始時のタイムスタンプをお願いします。PHP 5.1.0から利用できます。
'QUERY_STRING
query string(クエリ文字列)があれば、それを通じてページにアクセスします。
'DOCUMENT_ROOT
現在スクリプトが実行されている文書のルートディレクトリです。サーバ設定ファイルで定義します。
'HTTP_ACCEPT
現在の要求ヘッダの中でAccept:項目の内容が存在すれば。
'HTTP_ACCEPT_CHARSET
現在の要求ヘッダの中のAcceept Charset:項の内容が存在するならば。例えば、「iso-859-1,*,utf-8」です。
'HTTP_ACCEPT_ENCODING
現在のリクエストヘッダの中にAcceept Enccoding:項目の内容があります。例えば「gzip」。
'HTTP_ACCEPT_LANGUAGE
現在の要求ヘッダの中にAcceept-Language:項目の内容があります。例えば、「en」。
'HTTP_CONNEECTION
現在の要求の中でConnection:項の内容があります。例えば「Keep-Alive」。
'HTTP_HOST
現在の要求ヘッダの中のHost:項の内容が存在する場合。
'HTTP_REFERER
現在のページの前のページのアドレスにユーザエージェントを誘導します。user agent設定で決定します。すべてのユーザーエージェントがこの項目を設定するわけではなく、HTTP_uを修正するものもあります。REFERERの機能。つまり、この値は信用できません。
'HTTP_USER_AGENT
現在の要求ヘッダにUser-Agent:項目の内容があります。文字列は、ページにアクセスするユーザエージェントの情報を示している。典型的な例は、Mozila/4.5[en](X 11;U;Linux 2.9 i 586)である。それ以外に、get_を通してもいいです。browser()は、この値を使用して、ページ出力をカスタマイズして、ユーザエージェントの性能に適合させる。
'HTTPS
スクリプトがHTTPSプロトコルでアクセスされると、非空の値に設定されます。
Note:IIS上のIS API方式を使用する場合、HTTPSプロトコルを通じてアクセスされていない場合、この値はoffとなります。
'REMOTE_ADDR
現在のページのユーザのIPアドレスをブラウズします。
'REMOTE_HOST
現在のページのユーザのホスト名をブラウズします。DNS逆解析はユーザのREMOTE_に依存しない。ADDRです
Note:あなたのサーバはこの変数を生成するように構成されていなければなりません。例えばApacheではhttpd.com nfにHostname Lookup Onを設置して生成する必要があります。gethost byaddr()を参照してください。
'REMOTE_PORT
ユーザ機器は、Webサーバで使用するポート番号に接続されています。
'SCRIPT_FILENAME
現在実行されているスクリプトの絶対パス。
ノート:
コマンドラインインターフェース(Command Line Interface,CLI)で相対パスを使ってスクリプトを実行すると、例えばfile.phpまたは./file.phpのようになります。SERVER[’SCRIPT_FILENAME’は、ユーザによって指定された相対パスを含む。
 
 
'SERVER_ADMIN
この値は、Apacheサーバのプロファイルの中のSERVER_を指定しています。ADMINパラメータ。スクリプトが仮想ホスト上で実行されると、その値は仮想ホストの値です。
'SERVER_PORT
Webサーバで使用するポート。デフォルトは「80」です。SSLを使用して安全に接続すると、この値はユーザが設定したHTTPポートです。
'SERVER_SIGNATURE'
サーババージョンと仮想ホスト名の文字列が含まれています。
'PATH_TRANSLATED
現在のスクリプトがあるファイルシステム(文書のルートディレクトリではない)の基本パスです。これはサーバが仮想的にリアルパスの映像を行った後の結果です。
ノート:PHP 4.3.2から、PATH_TRANSLATEDはApache 2 SAPIモードではApache 1と同じようにクリティカルではなく、Appacheがこの値を生成しないとPHPは自分で生成し、その値をSCRIPT_に入れる。FILENAMEサーバの定数中です。この修正はCGI規格、PATH_を遵守しました。TRANSLATEDはPATH_のみです。INFOが定義された条件で存在します。ApathInfo=Onをhttpd.comに設定してPATH_を定義することができます。INFO
'SCRIPT_NAME
現在のスクリプトのパスを含みます。これはページで自分を指す時にとても役に立ちます。FILE_定数は、現在のスクリプト(例えばファイルを含む)のフルパスとファイル名を含みます。
'REQUST_URI
URIは、アクセスするページを指定します。例えば「/index.html」です。
'PHP_AUTH_DIGEST
Apacheモジュールとして動作する場合、HTTP Digest認証を行う過程で、この変数はクライアントが送信する「Authortization」HTTPヘッダコンテンツに設定されます。
'PHP_AUTH_USER
PHPがApacheまたはIIS(PHP 5はISAPI)モジュール方式で動作し、HTTP認証機能を使用しています。この変数はユーザが入力したユーザ名です。
'PHP_AUTH_PW
PHPがApacheまたはIIS(PHP 5はISAPI)モジュール方式で動作し、HTTP認証機能を使用しています。この変数はユーザが入力したパスワードです。
'AUTH_タイプ
PHPがApacheモジュール方式で動作し、HTTP認証機能を使用しています。この変数は認証のタイプです。
'PATH_FO
クライアントによって提供される、実際のスクリプト名の後に続く、クエリステートメント前のパス情報があります。例えば、現在のスクリプトがURLを通じている場合http://www.example.com/php/path_info.php/some/stuff?foo=barが訪問されます。SERVER['PATHINFO']には/some/stuffが含まれます。
'オリジンPATH_FO
PHPに処理される前に、「PATH_INFO」のオリジナルバージョン。
模範的なタイプ
 
Example钾1$_SERVERの例<?php
echo $_SERVER['SERVER_NAME'];
?>
上記のルーチンの出力は以下のようです。
www.example.com
 
コメント
ノート:
「スーパーグローバル」は自動化のグローバル変数とも呼ばれる。これはスクリプトのすべてのスコープで利用できるということです。関数やメソッドにglobal$variableを使う必要はありません。訪ねて聞いてみます