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 相关文章推荐
用函数读出数据表内容放入二维数组
Oct 09 PHP
FCKeditor的安装(PHP)
Jan 13 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
一个PHP的String类代码
Apr 20 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
php使用ICQ网关发送手机短信
Oct 30 PHP
php实现httpclient类示例
Apr 08 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
PHP生成随机密码类分享
Jun 25 PHP
PHP入门教程之PHP操作MySQL的方法分析
Sep 11 PHP
php tpl模板引擎定义与使用示例
Aug 09 PHP
PHP7 其他语言层面的修改
Mar 09 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版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
php实现文章评论系统
2019/02/18 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
python简单实现基数排序算法
2015/05/16 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
Java基础知识面试要点
2016/07/29 面试题
函授毕业自我鉴定
2013/12/19 职场文书
高中生的自我评价
2014/03/04 职场文书
英文自荐信常用句子
2014/03/26 职场文书
三严三实对照检查材料
2014/08/25 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
Golang数据类型和相互转换
2022/04/12 Golang
Redis实现短信验证码登录的示例代码
2022/06/14 Redis