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 Explorer11.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[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]3.147.126.36
$_SERVER[DOCUMENT_ROOT]ちゃい
$_SERVER[REQUEST_SCHEME]http
$_SERVER[CONTEXT_PREFIX]
$_SERVER[CONTEXT_DOCUMENT_ROOT]ちゃい
$_SERVER[SERVER_ADMIN]ちゃい
$_SERVER[SCRIPT_FILENAME]ちゃい
$_SERVER[REMOTE_PORT]26021
$_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]1740324526.7322
$_SERVER[REQUEST_TIME]1740324526

ハイスピードプラン