خوب با نوشتن یه تابع ساده مشکل حل میشه. من تابع detect رو به صورت زیر نوشتم:
<?php
function detect() {
$browser = array ("IE", "OPERA", "MOZILLA", "NETSCAPE", "FIREFOX", "SAFARI");
$os = array ("WIN","MAC","LINUX");
$info['browser'] = "OTHER";
$info['os'] = "OTHER";
foreach ($browser as $parent)
{
$s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent);
$f = $s + strlen($parent);
$version = substr($_SERVER['HTTP_USER_AGENT'], $f, 5);
$version = preg_replace('/[^0-9,.]/','',$version);
if ($s)
{
$info['browser'] = $parent;
$info['version'] = $version;
}
}
foreach ($os as $val)
{
if (eregi($val,strtoupper($_SERVER['HTTP_USER_AGENT']))) $info['os'] = $val;
}
return $info;
}
?>
اینکه چطور ازش استفاده کنید ساده هست. تیکه کد زیر رو ببینید:
$d = detect();
$b = $d['browser'];
$v = $d['version'];
$o = $d['os'];
switch ($b) {
case 'IE';
echo "Internet Explorer";
break;
case 'FIREFOX';
echo "Firefox";
break;
default:
echo "Alvanweb";
break;
}
با این تابع جدای از نوع مرورگر میتونید ورژن مرورگر و سیستمعامل رو هم وارد شرط کنید.
موفق باشید