PHP - 接続情報の取得や表示 - $_SERVER
- 1. 取得してみる
- 2. 一覧で見る
1. 取得してみる
例えば、$_SERVER['HTTP_USER_AGENT'] を利用すると、接続中のユーザのブラウザを調べることができます。
<?php
$user_agent = '';
if (!empty($_SERVER['HTTP_USER_AGENT']))
{
$user_agent = $_SERVER['HTTP_USER_AGENT'];
}
print 'HTTP_USER_AGENT=['.$user_agent.']';
?>
てなコードを記述しました。
「Windows10」で表示すると以下のような結果が取得できます。
ブラウザ | バージョン | 表示結果 |
Mozilla Firefox | 56.0.2 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 |
Google Chrome | 62.0.3202.94 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36 |
Microsoft Edge | 38.14393.0.0 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 |
Internet Explorer | 11.953.14393.0 | Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko |
もともと目的は、Edge で CSS 未対応のものがあるので、それを判断するためだったのですが。
仮に Chrome かどうかを判断するには Chrome の文言がはいっていて、Edge が入っていないこと・・・というヘンテコな判断文が必要になるわけです。
2. 一覧で見る
<?php
foreach ($_SERVER as $key => $value)
{
print '<b>$_SERVER['.$key.'] => '.$value.'<b><br>';
}
?>
てなコードを書いて実行すると下記のように表示されます。
(実際は上記のコードを <table></table> で囲んだり、表示したくないものを伏字にしています)
キー値 | 値 |
---|
$_SERVER[HTTP_USER_AGENT] | CCBot/2.0 (https://commoncrawl.org/faq/) | $_SERVER[HTTP_ACCEPT] | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 | $_SERVER[HTTP_ACCEPT_LANGUAGE] | en-US,en;q=0.5 | $_SERVER[HTTP_IF_MODIFIED_SINCE] | Sat, 31 Oct 2020 15:58:51 GMT | $_SERVER[HTTP_ACCEPT_ENCODING] | br,gzip | $_SERVER[HTTP_HOST] | freebsd.sing.ne.jp | $_SERVER[HTTP_CONNECTION] | Keep-Alive | $_SERVER[PATH] | ちゃい | $_SERVER[LD_LIBRARY_PATH] | ちゃい | $_SERVER[SERVER_SIGNATURE] | | $_SERVER[SERVER_SOFTWARE] | ちゃい | $_SERVER[SERVER_NAME] | freebsd.sing.ne.jp | $_SERVER[SERVER_ADDR] | 192.168.1.2 | $_SERVER[SERVER_PORT] | 80 | $_SERVER[REMOTE_HOST] | ec2-18-215-185-97.compute-1.amazonaws.com | $_SERVER[REMOTE_ADDR] | 18.215.185.97 | $_SERVER[DOCUMENT_ROOT] | ちゃい | $_SERVER[REQUEST_SCHEME] | http | $_SERVER[CONTEXT_PREFIX] | | $_SERVER[CONTEXT_DOCUMENT_ROOT] | ちゃい | $_SERVER[SERVER_ADMIN] | ちゃい | $_SERVER[SCRIPT_FILENAME] | ちゃい | $_SERVER[REMOTE_PORT] | 59738 | $_SERVER[GATEWAY_INTERFACE] | ちゃい | $_SERVER[SERVER_PROTOCOL] | ちゃい | $_SERVER[REQUEST_METHOD] | GET | $_SERVER[QUERY_STRING] | | $_SERVER[REQUEST_URI] | /lang/php/10/02.html | $_SERVER[SCRIPT_NAME] | ちゃい | $_SERVER[PHP_SELF] | ちゃい | $_SERVER[REQUEST_TIME_FLOAT] | 1611295113.959 | $_SERVER[REQUEST_TIME] | 1611295113 |
|
|