PHP で アクセスしているブラウザの種類を判別する方法
2017/6/1
文書番号:20739
サイトへアクセスしているブラウザの種類を判別したいことがあります。
PHP でブラウザの種類を判別する方法です。
ブラウザの種類を判別するにはヘッダーに含まれている「HTTP_USER_AGENT」を取得して判断できます。
以下の書き方ではどちらでも同じ結果を得られます。
ブラウザを変えて実行し、取得できる値を確認してみます。
<?php
echo $_SERVER['HTTP_USER_AGENT'];
echo getenv('HTTP_USER_AGENT');
?>
Google Chrome でアクセスした場合
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Firefox でアクセスした場合
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Microsoft Edge でアクセスした場合
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 でアクセスした場合
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
上記の情報から、取得した文字列の中に特定の文字列が含まれるかどうかで判別してみます。
<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strstr($user_agent, 'Chrome')) {
print("Google Chrome");
} elseif (strstr($user_agent, 'Firefox')) {
print("Firefox");
} elseif (strstr($user_agent, 'Edge')) {
print("Microsoft Edge");
} elseif (strstr($user_agent, 'MSIE')) {
print("Microsoft Internet Explorer");
} elseif (strstr($user_agent, 'Trident')) {
print("Microsoft Internet Explorer 11");
} else {
print("Unknown");
}
?>