一个浏览器检查类

<?php
//原作者:epsilon7
//SonyMusic(sonymusic@163.net)
class BrowserDetector  {
var $UA =  ”";    //$HTTP_USER_AGENT的内容
var $BROWSER=  ”Unknown”;    //浏览器类型
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.”<br>”;
echo $test->BROWSER.”<br>”;
echo $test->PLATFORM.”<br>”;
echo $test->VERSION.”<br>”;
echo $test->MAJORVER.”<br>”;
echo $test->MINORVER.”<br>”;
?>

喜欢这篇文章吗?

请订阅本站 RSS feed填写您的邮件地址,订阅我们的精彩内容:

随机日志

回复 (0)

› 尚无评论。

发表评论 修改评论取消编辑

允许使用的标签 - 您可以在评论中使用如下的 HTML 标签以及属性。

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 :wink:  :-|  :-x  :twisted:  :)  8-O  :(  :roll:  :-P  :oops:  :-o  :mrgreen:  :lol:  :idea:  :-D  :evil:  :cry:  8)  :arrow:  :-?  :?:  :!:

引用通告 (0)

› 尚无引用通告。

开灯