php获取浏览器的名称,及版本号

首先,PHP获取浏览器版本号通过两种方式实现;

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、添加相应的函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值