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」で表示すると以下のような結果が取得できます。
(下記は、ずいぶん前のものなので、現在(2022年8月8日)のバージョンであれば、もっと他の文字列になります)
ブラウザ | バージョン | 表示結果 |
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」未対応のものがあるので、それを判断するためだったのですが。
ここで初めて、「Edge」が「Chrome」の派生であったことを理解しました。
仮に「Chrome」かどうかを判断するには「Chrome」の文字列がはいっていて、「Edge」の文字列が入っていないこと・・・といういささかヘンテコな判断文が必要になるわけです。
2. 一覧で見る
<?php
foreach ($_SERVER as $key => $value)
{
print '<b>$_SERVER['.$key.'] => '.$value.'<b><br>';
}
?>
てなコードを書いて実行すると下記のように表示されます。
(実際は上記のコードを <table></table> で囲んだり、表示したくないものを伏字にしていますが、現在接続しているあなたの情報も含まれています)
キー値 | 値 |
---|
$_SERVER[REDIRECT_STATUS] | 200 | $_SERVER[HTTP_ACCEPT] | */* | $_SERVER[HTTP_USER_AGENT] | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | $_SERVER[HTTP_COOKIE] | ちゃい | $_SERVER[HTTP_ACCEPT_ENCODING] | gzip, br, zstd, deflate | $_SERVER[HTTP_HOST] | freebsd.sing.ne.jp | $_SERVER[HTTP_VIA] | 1.1 squid-proxy-5b5d847c96-68qpg (squid/6.10) | $_SERVER[HTTP_X_FORWARDED_FOR] | 10.3.246.199 | $_SERVER[HTTP_CACHE_CONTROL] | max-age=259200 | $_SERVER[HTTP_CONNECTION] | keep-alive | $_SERVER[PATH] | ちゃい | $_SERVER[LD_LIBRARY_PATH] | ちゃい | $_SERVER[SERVER_SIGNATURE] | Apache Server at freebsd.sing.ne.jp Port 80
| $_SERVER[SERVER_SOFTWARE] | ちゃい | $_SERVER[SERVER_NAME] | freebsd.sing.ne.jp | $_SERVER[SERVER_ADDR] | 192.168.1.3 | $_SERVER[SERVER_PORT] | 80 | $_SERVER[REMOTE_ADDR] | 216.73.216.8 | $_SERVER[DOCUMENT_ROOT] | ちゃい | $_SERVER[REQUEST_SCHEME] | http | $_SERVER[CONTEXT_PREFIX] | | $_SERVER[CONTEXT_DOCUMENT_ROOT] | ちゃい | $_SERVER[SERVER_ADMIN] | ちゃい | $_SERVER[SCRIPT_FILENAME] | ちゃい | $_SERVER[REMOTE_PORT] | 9389 | $_SERVER[REDIRECT_URL] | /lang/php/10/02.html | $_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] | 1752116444.4318 | $_SERVER[REQUEST_TIME] | 1752116444 |
|
|