クライアント側の情報を表示する
PHPが動いているサーバーと、ウェブブラウザから情報を
受け取ることができると、色々と便利です。
今回は、サーバー情報、クライアント(ブラウザ)情報を
調べる方法を書いていきます。
サーバー情報を取得するときに使用する変数$_SERVERは
サーバー変数と呼ばれています。$_SERVERは配列になっていて、
色々なキーをしていることで、サーバーに関する値を取得できます。
キー | 内容 |
---|---|
SERVER_NAME | サーバー名 |
SERVER_ADDR | サーバー側のIPアドレス |
SERVER_SOFTWARE | サーバー側のソフトウェア |
SERVER_PORT | サーバーのポート番号 |
DOCUMENT_ROOT | 実行中のスクリプトが存在するディレクトリー |
PHP_SELF | 実行中のスクリプトファイル |
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>サーバー情報を表示してみる</title> <link rel="stylesheet" href="../style.css"> </head> <body> <table border="2"> <tr bgcolor="#aaaaaa"> <th>サーバー情報</th> <th>内容</th> </tr> <?php $info = array("SERVER_NAME", "SERVER_ADDR", "SERVER_SOFTWARE", "SERVER_PORT", "DOCUMENT_ROOT", "PHP_SELF"); for( $i = 0; $i < count($info); $i++ ){ echo "<tr>"; echo "<td>$info[$i]</td>"; echo "<td>" . $_SERVER[ $info[$i] ] . "</td>"; echo "</tr>"; } ?> </body> </html> |
SERVER_NAMEは、サーバーのホスト名です。xamppを使い
ローカルPCでこのファイルを実行すると「localhost」と表示されます。
SERVER_ADDRは、サーバーのアドレスです。
SERVER_SOFTWAREは、サーバー上で稼働しているサーバーの名前です。
SERVER_PORTは、サーバーがリクエストを待ち受けているポート番号です。
DOCUMENT_ROOTは、実行中のコードがあるディレクトリ名です。
PHP_SELFは、ソースコードの名前が表示されます。
ユーザー側の情報を表示する
変数$_SERVERを使用して、サーバーにアクセスしてきたユーザー側の情報も
知ることができます。ユーザー情報は次のキーを使います。
キー | 内容 |
---|---|
HTTP_USER_AGENT | ユーザーのウェブブラウザ |
HTTP_REFERER | 参照元 |
REMOTE_ADDR | ユーザー側のIPアドレス |
REMOTE_HOST | ユーザー側のホスト名 |
SERVER_PROTOCOL | 使用したプロトコル |
REQUEST_METHOD | リクエスト方法 |
REQUEST_URI | リクエストしたURI |
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>クライアント情報を表示してみる</title> <link rel="stylesheet" href="../style.css"> </head> <body> <table border="2"> <tr bgcolor="#aaaaaa"> <th>サーバー情報</th> <th>内容</th> </tr> <?php $info = array("HTTP_USER_AGENT", // "HTTP_REFERER", "REMOTE_ADDR", // "REMOTE_HOST", "REQUEST_METHOD", "REQUEST_URI", "SERVER_PROTOCOL"); /* foreach( $_SERVER as $id => $value){ echo $id . "------->". $value; echo "<br>"; } */ for( $i = 0; $i < count($info); $i++ ){ echo "<tr>"; echo "<td>$info[$i]</td>"; echo "<td>" . $_SERVER[ $info[$i] ] . "</td>"; echo "</tr>"; } ?> </body> </html> |
REMOTE_ADDRは、ユーザー側のIPアドレス
HTTP_USER_AGENTは、ユーザーが使用しているウェブブラウザの情報
SERVER_PROTOCOLは、リクエストに使用したプロトコル
REQUEST_METHODは、フォームデータの送信方法を表し、GETやPOSTが一般的です。
REQUEST_URIは、ユーザーがウェブページとしてリクエストしたURL(URI)を表示します。
HTTP_REFERERは、このページのリンク元が存在すれば表示されます。
$_SERVERに、サーバー情報とクライアント情報が格納される。