$_SERVER(サーバー変数)は連想配列としてヘッダ情報、パス情報、スクリプトの情報などを保持しています。
$_SERVER(サーバー変数)は連想配列なので$_SERVER[‘連想配列キー名’]でアクセスすることができます。
$_SERVER(サーバー変数)で取得できる情報
$_SERVER(サーバー変数)で取得できる値はvar_dump()で出力することで調べることができます。
<!--?php var_dump($_SERVER); ?-->
$_SERVER(サーバー変数)で取得できる値
以下が$_SERVER(サーバー変数)で取得できる値になります。
($_SERVERより)
連想配列キー名 | 内容 |
---|---|
PHP_SELF | 現在実行しているスクリプトのファイル名です。 ドキュメントルートから取得されます。 例えば、http://example.com/foo/bar.php というアドレス上にあるスクリプトでは $_SERVER[‘PHP_SELF’] は /foo/bar.php となります。 __FILE__ 定数 には、カレント(すなわち読み込まれた)ファイルのパスとファイル名が含まれます。 PHP がコマンドラインから実行される場合、PHP 4.3.0 以降、 この変数にはスクリプト名が含まれます。これより前のバージョンでは、 この変数は使用できません。 |
argv | スクリプトに渡された引数の配列です。スクリプトがコマンドラインから 実行された場合、C 言語スタイルでコマンドライン引数に アクセスすることができます。GET メソッドを通してコールされた場合には 検索引数が格納されます。 |
argc | スクリプトに渡されたコマンドライン引数の数 (コマンドラインから実行した場合) です。 |
GATEWAY_INTERFACE | サーバーが使用している CGI のバージョンです。 例 ‘CGI/1.1’ |
SERVER_ADDR | 現在のスクリプトが実行されているサーバーの IP アドレスです。 |
SERVER_NAME | 現在のスクリプトが実行されているサーバーのホスト名です。 スクリプトがバーチャルホスト上で実行されている場合は そのバーチャルホスト名となります。 |
SERVER_SOFTWARE | レスポンスヘッダ上に書かれている、 サーバーの認識文字列です。 |
SERVER_PROTOCOL | ページがリクエストされた際のプロトコル名とバージョンです。 例.’HTTP/1.0′ |
REQUEST_METHOD | ページにアクセスする際に使用されたリクエストのメソッド名です。 ‘GET’, ‘HEAD’, ‘POST’, ‘PUT’ など。 |
REQUEST_TIME | リクエストの開始時のタイムスタンプ。PHP 5.1.0 以降で利用可能。 |
REQUEST_TIME_FLOAT | リクエストの開始時のタイムスタンプ (マイクロ秒までの精度)。 PHP 5.4.0 以降で利用可能。 |
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: ヘッダが もしあればその内容。例: ‘en’ |
HTTP_CONNECTION | 現在のリクエストに Connection: ヘッダが もしあればその内容。例: ‘Keep-Alive’ |
HTTP_HOST | 現在のリクエストに Host: ヘッダが もしあればその内容。 |
HTTP_REFERER | 現在のページに遷移する前にユーザーエージェントが参照していた ページのアドレス(もしあれば)。これはユーザーエージェントに よってセットされます。全てのユーザーエージェントが これをセットしているわけではなく、また、HTTP_REFERER を変更する機能を持つものもあります。 要するに、信頼するべきものではありません。 |
HTTP_USER_AGENT | 現在のリクエストに User-Agent: ヘッダがもしあればその内容。ページにアクセスしてきているユーザーエージェント のしるしの文字列です。 |
HTTPS | スクリプトが HTTPS プロトコルを通じて実行されている場合に 空でない値が設定されます。 |
REMOTE_ADDR | 現在ページをみているユーザーの IP アドレス。 |
REMOTE_HOST | 現在のページにアクセスしているホスト名。DNS の逆引き検索は ユーザーの REMOTE_ADDR に基づいています。 |
REMOTE_PORT | ユーザーのマシンから Web サーバーへの通信に使用されているポート番号 |
REMOTE_USER | 認証されたユーザー。 |
REDIRECT_REMOTE_USER | リクエストが内部でリダイレクトされた場合の認証されたユーザー。 |
SCRIPT_FILENAME | 現在実行されているスクリプトの絶対パス |
SERVER_ADMIN | Web サーバーの設定ファイルの SERVER_ADMIN (Apache の場合)ディレクティブ にセットされている値。スクリプトがバーチャルホスト上で 実行されている場合、バーチャルホストに対して値が定義されます。 |
SERVER_PORT | Web サーバーの通信ポートとして使用されているポート番号。 |
SERVER_SIGNATURE | サーバー上で生成されたページに追加される、 サーバーのバージョン名とバーチャルホスト名の文字列。 Web サーバーの設定で有効になっていることが必要です。 |
PATH_TRANSLATED | バーチャルからリアルへのマッピングがなされた後の、 現在のスクリプトのファイルシステム上(ドキュメントルートではなく) でのパス。 |
SCRIPT_NAME | 現在のスクリプトのパス。 スクリプト自身のページを指定するのに有用です。 __FILE__ 定数には、カレント(すなわち読み込まれた)ファイルのパスとファイル名が 含まれます。 |
REQUEST_URI | ページにアクセスするために指定された URI。例えば、 ‘/index.html’ |
PHP_AUTH_DIGEST | HTTP ダイジェスト認証を 行っている場合、クライアントから送られた ‘Authorization’ ヘッダの 内容が設定されます(適切な認証処理を行うために利用します)。 |
PHP_AUTH_USER | HTTP 認証しているときにそのユーザー名がセットされます。 |
PHP_AUTH_PW | HTTP 認証しているときにそのユーザーの パスワードがセットされます。 |
AUTH_TYPE | HTTP 認証しているときにその認証形式がセットされます。 |
PATH_INFO | 実際のスクリプトファイル名とクエリ文字列の間にある、クライアントが提供するパス名情報。 |
ORIG_PATH_INFO | PHP で処理される前の ‘PATH_INFO’ の原本。 |