The best way to detect a browser is to use the php class below. I created this for my site a year ago. It works with chrome, firefox, opera and internet explorer.
<?php
class Browser {
public static function detect() {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
if ((substr($_SERVER['HTTP_USER_AGENT'],0,6)=="Opera/") || (strpos($userAgent,'opera')) != false ){
$name = 'opera';
}
elseif ((strpos($userAgent,'chrome')) != false) {
$name = 'chrome';
}
elseif ((strpos($userAgent,'safari')) != false && (strpos($userAgent,'chrome')) == false && (strpos($userAgent,'chrome')) == false){
$name = 'safari';
}
elseif (preg_match('/msie/', $userAgent)) {
$name = 'msie';
}
elseif ((strpos($userAgent,'firefox')) != false) {
$name = 'firefox';
}
else {
$name = 'unrecognized';
}
if (preg_match('/.+(?:me|ox|it|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches) && $browser['name']=='safari' ) {
$version = $matches[1];
}
if (preg_match('/.+(?:me|ox|it|on|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches) && $browser['name']!='safari' ) {
$version = $matches[1];
}
else {
$version = 'unknown';
}
return array(
'name' => $name,
'version' => $version,
);
}
}
$browser = Browser::detect();
echo 'You browser is '.$browser['name'].' version '.$browser['version'];
echo "<br />";
?>
source
share