php检测useragent版本示例

 更新时间:2014年03月24日 09:09:47   作者:  
这篇文章主要介绍了php检测useragent版本的示例,需要的朋友可以参考下

复制代码 代码如下:

<?php
define('IE', 1);
define('FIREFOX', 2);
define('CHROME', 3);
define('OPERA', 4);
class UserAgentDetect
{
    static $version = array();

    static $userAgent = '';

    static function getUserAgent()
    {
        $header = getallheaders();
        self :: $userAgent = $header['User-Agent'];
    }
  function findUserAgentByKey($ua, $key)
    {
        $len = strlen($key);
        $start = strpos($ua, $key);

        $pos = strpos($ua, ' ', $start + $len + 1);

        return substr($ua, $start + $len, $pos - $len - $start);
    }
    static function detectUserAgent()
    {
         self :: getUserAgent();

        if (strpos(self :: $userAgent, 'MSIE') != null)
        {
            self :: $version[] = IE;
            self :: $version[] =self:: findUserAgentByKey(self :: $userAgent, 'MSIE');
        }
        else if (strpos(self :: $userAgent, 'Gecko/') != null)
        {

            self :: $version[] = FIREFOX;
            self :: $version[] =self::  findUserAgentByKey(self :: $userAgent, 'Firefox/');
        }
        else if (strpos(self :: $userAgent, 'AppleWebKit/') != null)
        {
            self :: $version[] = CHROME;
            self :: $version[] = self:: findUserAgentByKey(self :: $userAgent, 'Chrome/');
        }
        else if (strpos(self :: $userAgent, 'Presto/') != null)
        {
            self :: $version[] = OPERA;
            self :: $version[] = self:: findUserAgentByKey(self :: $userAgent, 'Opera/');
        }
        else
        {
        }

        return self :: $version;
    }


    function matchUserAgent($ua, $key)
    {
        preg_match("/$key.([^\s]*?)\s/", $ua, $out);

        return $out[1];
    }
}
$ua=UserAgentDetect::detectUserAgent();

print_r($ua);

相关文章

  • Zend Studio 无法启动的问题解决方法

    Zend Studio 无法启动的问题解决方法

    今天 Zend Studio 突然无法启动了,Google 了一下,仍旧无解。
    2008-12-12
  • laravel5创建service provider和facade的方法详解

    laravel5创建service provider和facade的方法详解

    这篇文章主要介绍了laravel5创建service provider和facade的方法,实例分析了laravel创建service、provider和facade类的具体步骤与实现技巧,需要的朋友可以参考下
    2016-07-07
  • tp5(thinkPHP5框架)时间查询操作实例分析

    tp5(thinkPHP5框架)时间查询操作实例分析

    这篇文章主要介绍了tp5(thinkPHP5框架)时间查询操作,结合实例形式分析了thinkPHP5框架数据库中日期时间查询相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • PHP爬虫框架盘点

    PHP爬虫框架盘点

    大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。需要的小伙伴可以借鉴一下
    2023-04-04
  • PHP加密解密类实例代码

    PHP加密解密类实例代码

    这篇文章主要介绍了PHP加密解密类实例代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • PHP mkdir()无写权限的问题解决方法

    PHP mkdir()无写权限的问题解决方法

    这篇文章主要介绍了PHP mkdir()无写权限的问题解决方法,对umask做了详细解释以及mkdir()后没写权限的解决方法,需要的朋友可以参考下
    2014-06-06
  • Zend Framework缓存Cache用法简单实例

    Zend Framework缓存Cache用法简单实例

    这篇文章主要介绍了Zend Framework缓存Cache用法,以简单实例形式分析了Zend Framework使用缓存的具体步骤,配置文件与Cache缓存具体使用技巧,需要的朋友可以参考下
    2016-03-03
  • PHP APP微信提现接口代码

    PHP APP微信提现接口代码

    这篇文章主要为大家详细介绍了PHP APP微信提现接口代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Laravel 将数据表的数据导出,并生成seeds种子文件的方法

    Laravel 将数据表的数据导出,并生成seeds种子文件的方法

    今天小编就为大家分享一篇Laravel 将数据表的数据导出,并生成seeds种子文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php实现图片缩放功能类

    php实现图片缩放功能类

    Images类是一个图片处理类,实现了图片缩放类,大家参考使用吧
    2013-12-12

最新评论