当前位置: 首页 > 编程日记 > 正文

php explore im,浏栏器器-explore.class.php_php

//原作者:epsilon7

//SonyMusic(sonymusic@163.net)

class BrowserDetector {

var $UA = ""; //$HTTP_USER_AGENT的内容

var $BROWSER= "Unknown"; //浏览器类型

http://www.gaodaima.com/46792.html浏栏器器-explore.class.php_php

var $PLATFORM = "Unknown"; //操作系统

var $VERSION= ""; //浏览器版本号

var $MAJORVER = ""; //浏览器主版本号

var $MINORVER = ""; //浏览器副版本号

/* 构造函数开始 */

function BrowserDetector(){

$this->UA = getenv(HTTP_USER_AGENT);

$preparens = "";

$parens = "";

$i = strpos($this->UA,"(");

if ($i >= 0) {

$preparens = trim(substr($this->UA,0,$i));

$parens = substr($this->UA,$i+1,strlen($this->UA));

$j = strpos($parens,")");

if($j>=0) {

$parens = substr($parens,0,$j);

}

}

else {

$preparens = $this->UA;

}

$browVer = $preparens;

$token = trim(strtok($parens,";"));

while($token) {

if($token=="compatible") {

}

elseif(preg_match("/MSIE/i","$token")) {

$browVer = $token;

}

elseif(preg_match("/Opera/i","$token")) {

$browVer = $token;

}

elseif(preg_match("/X11/i","$token") || preg_match("/SunOS/i","$token") || preg_match ("/linux/i","$token")) {

$this->PLATFORM = "Unix";

}

elseif(preg_match("/Win/i","$token")) {

$this->PLATFORM = $token;

}

elseif(preg_match("/Mac/i","$token") || preg_match("/PPC/i","$token")) {

$this->PLATFORM = $token;

}

$token = strtok(";");

}

$msieIndex = strpos($browVer,"MSIE");

if($msieIndex >= 0) {

$browVer = substr($browVer,$msieIndex,strlen($browVer));

}

$leftover = "";

if(substr($browVer,0,strlen("Mozilla")) == "Mozilla") {

$this->BROWSER = "Netscape";

$leftover=substr($browVer,strlen("Mozilla")+1,strlen($browVer));

}

elseif(substr($browVer,0,strlen("Lynx")) == "Lynx") {

$this->BROWSER = "Lynx";

$leftover=substr($browVer,strlen("Lynx")+1,strlen($browVer));

}

elseif(substr($browVer,0,strlen("MSIE")) == "MSIE") {

$this->BROWSER = "IE";

$leftover=substr($browVer,strlen("MSIE")+1,strlen($browVer));

}

elseif(substr($browVer,0,strlen("Microsoft Internet Explorer")) == "Microsoft Internet Explorer") {

$this->BROWSER = "IE";

$leftover=substr($browVer,strlen("Microsoft Internet Explorer")+1,strlen($browVer));

}

elseif(substr($browVer,0,strlen("Opera")) == "Opera") {

$this->BROWSER = "Opera";

$leftover=substr($browVer,strlen("Opera")+1,strlen($browVer));

}

$leftover = trim($leftover);

$i=strpos($leftover," ");

if($i > 0) {

$this->VERSION = substr($leftover,0,$i);

}

else {

$this->VERSION = $leftover;

}

$j = strpos($this->VERSION,".");

if($j >= 0) {

$this->MAJORVER = substr($this->VERSION,0,$j);

$this->MINORVER = substr($this->VERSION,$j+1,strlen($this->VERSION));

}

else {

$this->MAJORVER = $this->VERSION;

}

}

}

//测试程序开始

$test=new browserdetector;

echo $test->UA."
";

echo $test->BROWSER."
";

echo $test->PLATFORM."
";

echo $test->VERSION."
";

echo $test->MAJORVER."
";

echo $test->MINORVER."
";

?>

欢迎大家阅读《浏栏器器-explore.class.php_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

相关文章:

计算机评语公式怎么输,在excel中,如何使用公式写评语

2006-03-17还有1个多月就要考英语专4了,请问大家,现在该怎么复习呢?还有专4的补考和初考哪个难啊,通过率有多少啊?首先我想说的是因为你们学校的原因要你们补考,那我想这个证书是会得到国家的认可的。然后就是复习。一…

001_python单元测试

一、同事推荐的 pytest库 > 官网:http://doc.pytest.org/en/latest/ github地址>https://github.com/pytest-dev/pytest/ 二、python标准库的unittest的特性和java的junit很相似。 转载于:https://www.cnblogs.com/arun-python/p/6568631.html

三星android获取root权限,三星G9250(S6 Edge公开版全网通 Android 5.1)获取ROOT权限详解教程...

伴随着安卓刷机越来越流行,很多安卓用户都喜欢上了这种可以自定个性系统的行为,那么三星G9250(S6 Edge公开版全网通 Android 5.1)怎么获取ROOT权限?三星G9250(S6 Edge公开版全网通 Android 5.1)一ROOT过程如何操作呢?奇兔小编在此大家说一说一键ROOT的…

认识和了解python

一: Python介绍 1.1 python创始人吉多.范罗苏姆(龟叔)在1989年开发.python崇尚优美,清晰,简单. 1.2 python是一门解释型语言,属于弱类型语言. 1.3 优点: 1.优雅,明确,简单 2.开发率高 3.可移植性,可扩展性,可嵌入型 缺点: 1.速度慢, 2…

惰性求值 php,详细介绍C#函数式编程的示例代码

public double MemoryUtilization(){//计算目前内存使用率var pcInfo new ComputerInfo();var usedMem pcInfo.TotalPhysicalMemory - pcInfo.AvailablePhysicalMemory;return (double)(usedMem / Convert.ToDecimal(pcInfo.TotalPhysicalMemory));}public int BigCalculatat…

wowpve服务器优势,PVE服务器法师对本职业的一点看法

看过了各位高手的对法师的一些看法,其中被喷的也不在少数,其实大家公认的在魔兽世界里没有最强的职业,只有更强的玩家,所有流派的诞生都是各位玩家在不断的探索中发现的,我是一个休闲法师玩家在这里只谈谈自己的一些看…

安装Android SDK需要选择哪些,开始为Android开发,我应该选择安装哪些SDK?

我开始将我的开发人员技能扩展到Android开发.我安装了所有的工具和配置,每件事看起来都很棒,作为默认设置,我安装了3.2 SDK,但是没有太多的文档在那个,2.x SDK上的模式是什么.它是否像IOS,android有一个良好的向后可计算性?我可以继续使用3.x并依靠它(使用2.x SDK中…

oracle 分区使用情况,Oracle Hash分区的使用总结

近期项目需要用到分区表,但是分区键值有无法确定,因此只能使用hash分区(range、list分区以前常用,比hash分区简单),查询了文档,发现上面说的和实际使用时有点差距,就专门做实验验证下。官方文档(11g、12c的…

第四周工作总结

转载于:https://www.cnblogs.com/yuezhihao/p/6587333.html

VS2013\VS2017 使用git 总是需要输入账号密码

问题: VS2013\VS2017 使用git 总是需要输入账号密码 解决方案:删除原凭证,或者修改原凭证,重新输入一次账号和密码并且选择“记住凭证”即可! 转载于:https://www.cnblogs.com/zhaokunbokeyuan256/p/9583091.html

css炫酷标题,纯css3鼠标滑过图片炫酷标题显示特效

很多网站的图片鼠标滑过显示标题效果都是使用jQuery来完成的,现在,我们可以使用CSS3 animations来完成同样惊艳的效果。如果你对CSS3 animations还不了解,请先阅读CSS3 animations。HTML我们使用html5来制作这款插件。通过figure和figcaption…

学习成长就到鸿蒙思维,庆国庆,迎中秋,鸿蒙教育享双节99元开启思维之旅!!...

原标题:庆国庆,迎中秋,鸿蒙教育享双节99元开启思维之旅!!庆国庆,迎中秋,鸿蒙教育享双节99元开启思维之旅!!鸿蒙口才+绘画课推出99元体验课程!学1科…

String拼接字符串效率低,你知道原因吗?

面试官Q1:请问为什么String用""拼接字符串效率低下,最好能从JVM角度谈谈吗? 对于这个问题,我们先来看看如下代码: public class StringTest {public static void main(String[] args) {String a "abc&…

oracle01003,ORA-01003:nostatementparsed-Oracle

手贱,故意删除了一张表,在OGG同步数据的同时,删除之后立刻报错,如下:OCI Error ORA-12096: error in materialized view log on "JTINFO"."TBL_USERID"ORA-01003: no statement parsed (status 1…

笔记一:python安装和执行

一:学习内容 python安装python简介python执行二:python安装 1. 下载python,网地址:https://www.python.org/,进入地址后,点击下载downloads下的windows 2. 进入下载页后,选择要下载的版本和类型…

一个客户机-服务器系统使用了卫星网络,客户机/服务器体系结构可用于局域网、广域网和WWW。这三种用途迥异的网络的一个共同特点是工作负 - 试题答案网问答...

相关题目与解析关于客户机/服务器体系结构的错误说法是()A.曾经是一种流行的结构B.可用于广域网C.不可用于万●C/S(客户机/服务器)与B/S(浏览器服务器)体系结构的区别是:(57)。(57)A.B/S建立在局域网上,C/S●C/S(客户机/服务器)与…

android 初始化语言,3.4.1 Android初始化语言(1)

3.4 init.rc文件解析过程init.rc文件按照一定的格式组织,要分析init.rc文件的解析过程,首先要熟悉它的格式。init.rc的文件格式由Android初始化语言(Android Init Language)定义,所以这里首先分析Android初始化语言。3.4.1 Android初始化语…

[bzoj3673/3674可持久化并查集加强版]

n个集合 m个操作 操作&#xff1a; 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合&#xff0c;是则输出1否则输出0 0<n,m<2*10^5 强制在线。 这两题一题都一样&#xff0c;另一题比较水&#xff0c;nm只有2*10^4,允许…

[Manthan, Codefest 18][Codeforces 1037E. Trips]

题目链接&#xff1a;1037E - Trips 题目大意&#xff1a;有n个人&#xff0c;m天&#xff0c;每天晚上都会有一次聚会&#xff0c;一个人会参加一场聚会当且仅当聚会里有至少k个人是他的朋友。每天早上都会有一对人成为好朋友&#xff0c;问每天晚上最多能有多少人参加聚会。朋…

oracle 10g undo 管理,Oracle 10g undo表空间管理

一、oracle 9i起&#xff0c;有两种undo管理方式&#xff1a;AUM Automatic Undo ManagementMUN Manual Undo Management建议使用 AUM &#xff0c;下面只讨论AUM一、Oracle 9i起&#xff0c;有两种undo管理方式&#xff1a;AUM Automatic Undo ManagementMUN Manual Undo Mana…

电子狗显示连接不上服务器,大家觉得我这样做得对吗?行车记录仪新名词:云狗...

“云”概念化已经成为新轮的市场趋势&#xff0c;些行车记录仪品牌已经加入云狗功能&#xff0c;云狗普通的电子狗有什么区别&#xff1f;“云”概念对于行车记录仪行业发展的意义何在&#xff1f;何谓“云电子狗”&#xff1f;云电子狗指通过无线互联网络具备实时与中…

织梦html引入html代码,织梦标签引入共html.doc

织梦标签引入共html1.无法在这个位置找到: {dede:include filename"织梦模板include插入非模板目录文件出现“无法在这个位置找到”错误的解决办法以下是dede V55_UTF8查dede include标签手册(3) include 引入一个文件&#xff0c;形式为&#xff1a;{dede:include file文…

AutoMapper用法

AutoMapper是对象到对象的映射工具。在完成映射规则之后&#xff0c;AutoMapper可以将源对象转换为目标对象。 作者&#xff1a;齐飞 原文&#xff1a;http://www.qeefee.com/article/automapper 配置AutoMapper映射规则 AutoMapper是基于约定的&#xff0c;因此在实用映射之前…

【洛谷习题】小A点菜

虽然也是一道dp的入门题&#xff0c;但就是想不到&#xff0c;或者说不会实现。dp还是要多做题。 链接&#xff1a;https://www.luogu.org/problemnew/show/P1164 我们可以设dp[i][j]表示以考虑完第i件&#xff0c;恰好消费j元的方案数。那么dp[i][j]dp[i-1][j]dp[i-1][j-a[i]]…

加载服务器版本信息,传奇服务器端启动加载错误的解决方法

1、启动服务端M2报错的类型2、错误分类&#xff0c;思路理清3、文字总结以下常见现象传奇服务器端启动加载错误解决方法Exception] 物品数据库加载错误![Exception] 魔法数据库加载错误!!! 地图数据加载错误.Code -1 加载Guardlist.txt时出现错误.Code -1 加载MakeItem.txt时出…

股票移动平均线matlab,股票的移动平均线 (图文)

股票的移动平均线【泸指】股票的移动平均线移动平均线是个强大的工具&#xff0c;能够更清晰地展示一系列无规律的数值变化 (比如股市波动)。此外&#xff0c;泸指移动平均线还可别除任何周期性变化(正常的季节性温度变化)的影响&#xff0c;便于我们观察到真正的趋势变化。移动…

htcd816+android密码,HTC Desire 816刷机解锁教程

一、解锁前的准备&#xff1a;1.解锁将会丢失所有数据&#xff0c;请先做好备份&#xff0c;如电话本、短信、照片、应用程序。2.下载并安装驱动程序HTC Driver。3.注册HTC Dev帐号&#xff0c;为提交解锁码做好准备。4.下载并解压 “Desire 816 解锁工具”&#xff1a;5.手机关…

BZOJ1058 [ZJOI2007]报表统计 set

原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ1058.html 题目传送门 - BZOJ1058 题解 考虑用两个 multiset 分别维护两个答案。 一个直接按照权值维护&#xff0c;另一个维护一下相邻位置的差。 比较容易想到如何维护的吧&#xff0c;不多讲&#xff0c;看代码吧。 代码…

扫描服务器端口信息工具,服务器端口扫描工具

服务器端口扫描工具 内容精选换一换2.3.2 端口扫描Internet上的大部分服务都使用一种基于TCP/IP协议的客户机/服务器的模式。在这种模式下&#xff0c;服务器端在某个TCP或UDP(User Datagram Protocol&#xff0c;用户数据报协议)的端口处于侦听状态&#xff0c;等待客户端程序…

python-Django-01基础配置

参考资料地址 http://www.ziqiangxuetang.com/django/django-install.html 官方文档 一&#xff1a; 1先下载Django源码包&#xff0c;下载地址https://www.djangoproject.com/download/ 然后下载自己想安装的版本 Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3…