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);

(0)

相关推荐

  • 用户代理字符串userAgent可实现的四个识别

    定义 用户代理字符串:navigator.userAgent HTTP规范明确规定,浏览器应该发送简短的用户代理字符串,指明浏览器的名称和版本号.但现实中却没有这么简单. 发展历史 [1]1993年美国NCSA国家超级计算机中心发布了世界上第一款web浏览器Mosaic,该浏览器的用户代理字符串为Mosaic/0.9 [2]Netscape公司进入浏览器开发领域,将自己产品的代号定名了Mozilla(Mosaic Killer)的简写,用户代理字符串格式为Mozilla/版本号 [语言] (平台

  • javascript通过navigator.userAgent识别各种浏览器

    原理:根据navigator.userAgent返回值识别 实现: 复制代码 代码如下: function validBrowser(){ var u_agent = navigator.userAgent; var browser_name='Failed to identify the browser'; if(u_agent.indexOf('Firefox')>-1){ browser_name='Firefox'; }else if(u_agent.indexOf('Chrome')>

  • JS通过分析userAgent属性来判断浏览器的类型及版本

    JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另 一种是通过分析浏览器的userAgent属性来判断的.本文对浏览器各自的userAgent特点做一分析,并给出判断方法: Windows操作系统浏览器系列: IE浏览器系列: 特征表现:均以 "mozilla/" 开头,"msie x.0;" 中的x表示其版本: 判断方

  • jquery插件推荐浏览器嗅探userAgent

    综合概述 jQuery在1.7.x版本中,去掉了对浏览器嗅探支持,建议使用特性检测,然而在实际项目中,或多或少也需要这个功能. 兼容性 IE6+.Chrome.Firefox.Safari.Opera 框架依赖 原生JS支持 模块支持 支持AMD.node和浏览器 使用介绍 1.识别引擎.举例如下: //如果浏览器是webkit核心,执行以下代码 if(!!client.engine.webkit){     //todo } 2.识别浏览器.举例如下: //如果是IE浏览器,且IE的版本是6,

  • js识别不同浏览器基于userAgent做判断

    检测浏览器,注意浏览器判断顺序,主要是基于userAgent做判断. //检测浏览器 var client = function(){ var engine = { ie:0, gecko:0, webkit:0, khtml:0, opera:0, ver:null }; var browser = { //浏览器 ie: 0, firefox: 0, safari: 0, konq: 0, opera: 0, chrome: 0, ver:null }; var ua = navigator

  • asp.net 通过UserAgent判断智能设备(Android,IOS)

    最近一直在升级公司的手机站点,出了个触屏版专用的,做好后,就尝试通过 Agent 来判断相应的智能手机设备,然后跳转到新的手机站点经过不懈的努力,终于搜集了比较全的 智能设备 的 Agent,然后又写了程序,直接上代码吧 ,希望能帮助到你 复制代码 代码如下: /// <summary> /// 根据 Agent 判断是否是智能手机 /// </summary> /// <returns></returns> public static bool Check

  • php检测useragent版本示例

    复制代码 代码如下: <?phpdefine('IE', 1);define('FIREFOX', 2);define('CHROME', 3);define('OPERA', 4);class UserAgentDetect{    static $version = array(); static $userAgent = ''; static function getUserAgent()    {        $header = getallheaders();        self

  • js检测浏览器版本、核心、是否移动端示例

    检测浏览器版本.核心.系统和是否移动端 复制代码 代码如下: /** * check browser version * @authors K * @date    2014-04-11 14:48:39 * @version 1 */ /** * detect browser info with navigator userAgent * @return object browser info */ var browser = (function(){  var userAgent = nav

  • C#如何检测操作系统版本

    本文实例为大家分享了C#检测操作系统版本的方法,供大家参考,具体内容如下 我们通过System.Environment.OSVersion.Version获得操作系统的版本号,然后再根据版本号进行判断操作系统是什么版本. Version 类的属性 参考于:https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms724834(v=vs.85).aspx 注意:在msdn官方文档有说明 → OSVersion 属性报告两个相同的版本号 (

  • js实现密码强度检测【附示例】

    这篇文章主要介绍了js实现密码强度检测的相关实例,第一个例子给出了全部代码,可以直接运行,第二个例子只给出了js代码,感兴趣的码农可以自己完成第二个实例. 第一个实例 这段JavaScript代码比较实用,它完成用户注册时判断用户输入密码的强度,分强.弱.中三等级,它可以根据用户输入的密码显示对应的密码强弱等级,方便用户改进输入. 实现代码: <html> <head> <title>JS判断密码强度</title> <script language=

  • 使用命令行检测Ubuntu版本方法

    方法一:使用lsb_release实用程序 lsb_release实用程序可以显示有关Linux发行版的LSB(Linux标准库)信息.它是检查Ubuntu版本的首选方法,无论运行的是哪个桌面环境或Ubuntu版本,此方法都可以使用. 下面我们就来看看如何检测Ubuntu版本: 1.使用Ctrl+Alt+T键盘快捷键或单击终端图标打开终端. 2.使用lsb_release -a命令显示Ubuntu版本,会在Description行看到Ubuntu版本信息 输出: No LSB modules a

  • 使用OpenCV对车道进行实时检测的实现示例代码

    项目介绍 下图中的两条线即为车道: 我们的任务就是通过 OpenCV 在一段视频(或摄像头)中实时检测出车道并将其标记出来.其效果如下图所示: 这里使用的代码来源于磐怼怼大神,此文章旨在对其代码进行解释. 实现步骤 1.将视频的所有帧读取为图片: 2.创建掩码并应用到这些图片上: 3.图像阈值化: 4.用霍夫线变换检测车道: 5.将车道画到每张图片上: 6.将所有图片合并为视频. 代码实现 1.导入需要的库 import os import re import cv2 import numpy

  • iOS WKWebview 白屏检测实现的示例

    前言 自ios8推出wkwebview以来,极大改善了网页加载速度及内存泄漏问题,逐渐全面取代笨重的UIWebview.尽管高性能.高刷新的WKWebview在混合开发中大放异彩表现优异,但加载网页过程中出现异常白屏的现象却仍然屡见不鲜,且现有的api协议处理捕捉不到这种异常case,造成用户无用等待体验很差.     针对业务场景需求,实现加载白屏检测.考虑采用字节跳动团队提出的webview优化技术方案.在合适的加载时机对当前webview可视区域截图,并对此快照进行像素点遍历,如果非白屏颜

  • python opencv肤色检测的实现示例

    1 椭圆肤色检测模型 原理:将RGB图像转换到YCRCB空间,肤色像素点会聚集到一个椭圆区域.先定义一个椭圆模型,然后将每个RGB像素点转换到YCRCB空间比对是否再椭圆区域,是的话判断为皮肤. YCRCB颜色空间 椭圆模型 代码 def ellipse_detect(image): """ :param image: 图片路径 :return: None """ img = cv2.imread(image,cv2.IMREAD_COLOR)

  • 用OpenCV进行年龄和性别检测的实现示例

    本文主要介绍了用OpenCV进行年龄和性别检测的实现示例,分享给大家,具体如下: 在本文中,我将带您完成用 Python 进行机器学习的年龄和性别检测的任务.年龄和性别检测属于计算机视觉的范畴,因此我将在Python中使用OpenCV库. 在开始使用Python进行年龄和性别检测任务之前,我将首先带您了解该概念的含义以及如何处理年龄和性别检测问题.理解这个概念很重要,以便将来您不仅可以使用python,还可以使用任何编程语言轻松地执行年龄和性别检测任务. 年龄和性别检测简介 检测年龄和性别的任务

  • Python实现Telnet自动连接检测密码的示例

    最近在学习Python网络相关编程,这个代码实现了Telnet自动连接检测root用户密码,密码取自密码本,一个一个检测密码是否匹配,直到匹配成功,屏幕输出停止. Python内置了telnetlib模块,支持telnet远程操作,只要直接import就可以. 代码如下: # encoding=utf-8 import telnetlib import time import sys import os def do_telnet(Host, Port, username, password,

随机推荐