浏览器检测类

ContractedBlock.gif ExpandedBlockStart.gif Code
 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;
      }
      }
  }

转载于:https://www.cnblogs.com/zijinguang/archive/2009/06/16/1504244.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值