Welcome>首页>随便写写>All>编程开发>检测用户浏览器类型/版本的代码(php)
31
检测用户浏览器类型/版本的代码(php)
文章分类:编程开发
发表日期:2009/10/08 16:00
总点击数:299
总评论数:10
今天改进了本站对访问者的浏览器检测不精确的不足.
并疯狂的下载安装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=1400&page=1&id=31
135
OutSky
OS          :  Windows XP (SP2)
Browser  :  360SE
Date       :  2009/10/08 21:39
测试之: 360SE

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; 360SE)
134
OutSky
OS          :  Windows XP (SP2)
Browser  :  TT 4.0
Date       :  2009/10/08 17:15
测试之: TencentTraveler 4.0

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)
133
OutSky
OS          :  Windows XP (SP2)
Browser  :  Opera 10.00
Date       :  2009/10/08 17:13
测试之: Opera 10.00

Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.2.15 Version/10.00
132
OutSky
OS          :  Windows XP (SP2)
Browser  :  Maxthon 2.0
Date       :  2009/10/08 17:12
测试之: Maxthon 2.0

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)
131
OutSky
OS          :  Windows XP (SP2)
Browser  :  Chrome 3.0.195.25
Date       :  2009/10/08 17:11
测试之: Chrome 3.0.195.25

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
130
OutSky
OS          :  Windows XP (SP2)
Browser  :  TheWorld
Date       :  2009/10/08 17:09
测试之: TheWorld

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)
129
OutSky
OS          :  Windows XP (SP2)
Browser  :  IE 8.0
Date       :  2009/10/08 17:07
测试之: IE 8.0

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)
128
OutSky
OS          :  Windows XP (SP2)
Browser  :  Safari 4.0.3
Date       :  2009/10/08 17:05
测试之: Safari 4.0.3

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
127
OutSky
OS          :  Windows XP (SP2)
Browser  :  Firefox 3.5.3
Date       :  2009/10/08 17:03
测试之:firefox 3.5.3

Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
126
OutSky
OS          :  Windows XP
Browser  : 
Date       :  2009/10/08 16:05
测试之:firefox 3.5.3

Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3