31
检测用户浏览器类型/版本的代码(php)
文章分类:编程开发
发表日期:2009/10/08 16:00
总点击数:300
总评论数:10
发表日期:2009/10/08 16:00
总点击数:300
总评论数:10
今天改进了本站对访问者的浏览器检测不精确的不足.
并疯狂的下载安装8种浏览器进行测试.
目前测试正常的浏览器有:
并疯狂的下载安装8种浏览器进行测试.
目前测试正常的浏览器有:
TT(腾讯浏览器) | the world(世界之窗) | maxthon(傲游) | firefox(火狐) | opera | chrome(谷歌) | IE | safari
代码如下:
function getBrowser()
{
global $_SERVER;
$Agent = $_SERVER['HTTP_USER_AGENT'];
$browser = '';
$browserver = '';
// TT Maxthon TheWorld Chrome Safari Firefox IE Opera
// Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; TheWorld)
// 无版本信息
if(false!==strpos($Agent, 'TheWorld'))
{
$browser = 'TheWorld';
}
// Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; TencentTraveler 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
// 4.0
elseif(false!==strpos($Agent, 'TencentTraveler'))
{
$temp = explode('TencentTraveler', $Agent);
$part = $temp[1];
$temp = explode(';', $part);
$browserver = $temp[0];
$browserver = preg_replace('/([^\d.]+)/', '', $browserver); // 去掉非'数字'或非'.'字符
$browser = 'TT';
}
// Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; MAXTHON 2.0)
// 2.0
elseif(false!==strpos($Agent, 'MAXTHON'))
{
$temp = explode('MAXTHON', $Agent);
$browserver= $temp[1];
$browserver = preg_replace('/([^\d.]+)/', '', $browserver); // 去掉非'数字'或非'.'字符
$browser = 'Maxthon';
}
// Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Tride14:42 2009-10-8nt/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
// 8.0
elseif(false!==strpos($Agent, 'MSIE'))
{
$temp = explode('MSIE', $Agent);
$browserver = $temp[1];
$temp = explode(';', $browserver);
$browserver = $temp[0];
$browserver = preg_replace('/([^\d.]+)/', '', $browserver); // 去掉非'数字'或非'.'字符
$browser = 'IE';
}
// Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.25 Safari/532.0
// 3.0.195.25
elseif(false!==strpos($Agent, 'Chrome'))
{
$temp = explode('Chrome', $Agent);
$browserver = explode(' ', $temp[1]);
$temp = $browserver[0];
$browserver = $temp;
$browserver = preg_replace('/([^\d.]+)/', '', $browserver); // 去掉非'数字'或非'.'字符
$browser = 'Chrome';
}
// Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9.1
// 4.0.3
elseif(false!==strpos($Agent, 'Safari'))
{
$temp = explode('Version', $Agent);
$browserver = $temp[1];
$browserver = explode(' ', $browserver);
$temp = $browserver[0];
$browserver = $temp;
$browserver = preg_replace('/([^\d.]+)/', '', $browserver); // 去掉非'数字'或非'.'字符
$browser = 'Safari';
}
// Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
// 3.5.3
elseif(false!==strpos($Agent, 'Firefox'))
{
$browserver = explode('Firefox', $Agent);
$temp = $browserver[1];
$browserver = $temp;
$browserver = preg_replace('/([^\d.]+)/', '', $browserver); // 去掉非'数字'或非'.'字符
$browser = 'Firefox';
}
// Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.2.15 Version/10.00
// 10.00
elseif(false!==strpos($Agent, 'Opera'))
{
$browserver = explode('Version', $Agent);
$temp = $browserver[1];
$browserver = $temp;
$browserver = preg_replace('/([^\d.]+)/', '', $browserver); // 去掉非'数字'或非'.'字符
$browser = 'Opera';
}
else
{
$browser = 'Unknown';
}
$browserInfo = $browser . ' ' . $browserver;
return $browserInfo;
}
谷歌浏览器看我的网站真难看。。。
请尊重版权,转载请注明出处;代码及文章如需用于商业用途需经本人同意
本文永久链接:http://www.outsky.org/article.php?action=read&category=1600&page=1&id=31






