1、$_SERVER['HTTP_USER_AGENT'],分析该字符串信息;
2、$browser
= get_browser(null,true);print_r(
$browser
);
第二种需要下载browscap.ini插件,并在php.ini文件里面增加一句指向 browscap.ini。
修改php.ini的配置文件
找到:
[browscap]
;browscap = extra/browscap.ini
这样一段话,在其下面加入一段话:
browscap = C:\PHPnow\php5.3\php_browscap.ini
好了,第二种方法说完,我们来说一下第一种方法:
直接上代码
<?php
/**
* 获取浏览器的名称及版本号,并将版本号转化为整型
*/
class mate
{
//浏览器名
var $name = '';
var $version = 0;
var $str = '';
function __construct()
{
$this->str = $_SERVER['HTTP_USER_AGENT'];
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')){
$this->name = 'IE';
}elseif(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){
$this->name = 'Firefox';
}elseif(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
$this->name = 'Chrome';
}/*elseif(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
$this->name = 'Safari';
}elseif(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Opera')){
$this->name = 'Opera';
}elseif(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){
$this->name = '360SE';
}*/
}
/**
* 获取版本号
* @return [type] [description]
*/
function run(){
switch ($this->name) {
case 'IE':
$this->msie();
break;
case 'Firefox':
$this->Firefox();
break;
case 'Chrome':
$this->Chrome();
break;
default:
$this->version = 0;
break;
}
}
/**
* 对于IE浏览器进行分割
*/
private function msie(){
$first = explode(';',$this->str);
$two = explode(' ',$first[1]);
$this->version = (int)$two[2];
return true;
}
/**
* 对于Firefox浏览器进行分割
*/
private function Firefox(){
$first = explode(' ',$this->str);
$two = explode('/',$first[7]);
$this->version = (int)$two[1];
return true;
}
/**
* 对于Chrome浏览器进行分割
*/
private function Chrome(){
$first = explode(' ',$this->str);
$two = explode('/',$first[9]);
// print_r($two);
//echo (int)$two[1];
$this->version = (int)$two[1];
return true;
}
}
$a = new mate();
$a->run();
echo $a->name,'<br>';
echo $a->version;
在此,要说明一下:
想拓展支持更多的浏览器
1、需要要构造函数中添加相应的信息,很简单。
2、在run中添加
case 'Firefox':
$this->Firefox();
break;
3、添加相应的函数