php检测useragent版本示例


Posted in PHP onMarch 24, 2014
<?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);
PHP 相关文章推荐
php学习笔记 数组的常用函数
Jun 13 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
使用cookie实现统计访问者登陆次数
Jun 08 PHP
分享一则PHP定义函数代码
Feb 26 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
浅谈mysql_query()函数的返回值问题
Sep 05 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
PHP并发查询MySQL的实例代码
Aug 09 PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 PHP
使用Zookeeper分布式部署PHP应用程序
Mar 15 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
php断点续传之如何分割合并文件
Mar 22 #PHP
php 邮件发送问题解决
Mar 22 #PHP
php数组合并的二种方法
Mar 21 #PHP
php数组删除元素示例
Mar 21 #PHP
php动态生成函数示例
Mar 21 #PHP
xss防御之php利用httponly防xss攻击
Mar 21 #PHP
php5.3 goto函数介绍和示例
Mar 21 #PHP
You might like
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
php curl选项列表(超详细)
2013/07/01 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
php实现字符串翻转的方法
2015/03/27 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
python提取页面内url列表的方法
2015/05/25 Python
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
浅谈Python中的继承
2020/06/19 Python
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
大二自我鉴定范文
2013/10/05 职场文书
应届本科生推荐信范文
2013/12/25 职场文书
物业管理计划书
2014/01/10 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
SQL中的连接查询详解
2022/06/21 SQL Server