首页 > 语言 > PHP > 正文

PHP实现的浏览器检查类

2024-05-04 23:44:59
字体:
来源:转载
供稿:网友

这篇文章主要介绍了PHP实现的浏览器检查类,结合实例形式详细分析了PHP浏览器操作的相关技巧,非常简单实用,需要的朋友可以参考下

本文实例讲述了PHP实现的浏览器检查类。分享给大家供大家参考,具体如下:

 

  1. <?php 
  2. //原作者:epsilon7 
  3. //SonyMusic([email]sonymusic@163.net[/email]) 
  4. class BrowserDetector { 
  5.  var $UA = "";  //$HTTP_USER_AGENT的内容 
  6.  var $BROWSER"Unknown";  //浏览器类型 
  7.  var $PLATFORM  = "Unknown";  //操作系统 
  8.  var $VERSION"";  //浏览器版本号 
  9.  var $MAJORVER  = "";  //浏览器主版本号 
  10.  var $MINORVER  = "";  //浏览器副版本号 
  11.  /* 构造函数开始 */ 
  12.  function BrowserDetector(){ 
  13.   $this->UA  = getenv(HTTP_USER_AGENT); 
  14.   $preparens = ""
  15.   $parens = ""
  16.   $i = strpos($this->UA,"("); 
  17.   if ($i >= 0)  { 
  18.     $preparens = trim(substr($this->UA,0,$i)); 
  19.     $parens = substr($this->UA,$i+1,strlen($this->UA)); 
  20.     $j = strpos($parens,")"); 
  21.     if($j>=0) { 
  22.      $parens = substr($parens,0,$j); 
  23.     } 
  24.   } 
  25.   else  { 
  26.     $preparens = $this->UA; 
  27.   } 
  28.   $browVer = $preparens
  29.   $token = trim(strtok($parens,";")); 
  30.   while($token)  { 
  31.     if($token=="compatible") { 
  32.     } 
  33.     elseif(preg_match("/MSIE/i","$token")) { 
  34.      $browVer = $token
  35.     } 
  36.     elseif(preg_match("/Opera/i","$token")) { 
  37.      $browVer = $token
  38.     } 
  39.     elseif(preg_match("/X11/i","$token") || preg_match("/SunOS/i","$token") || preg_match ("/Linux/i","$token")) { 
  40.      $this->PLATFORM  = "Unix"
  41.     } 
  42.     elseif(preg_match("/Win/i","$token")) { 
  43.      $this->PLATFORM  = $token
  44.     } 
  45.     elseif(preg_match("/Mac/i","$token") || preg_match("/PPC/i","$token")) { 
  46.      $this->PLATFORM  = $token
  47.     } 
  48.     $token = strtok(";"); 
  49.   } 
  50.   $msieIndex = strpos($browVer,"MSIE"); 
  51.   if($msieIndex >= 0)  { 
  52.     $browVer = substr($browVer,$msieIndex,strlen($browVer)); 
  53.   } 
  54.   $leftover  = ""
  55.   if(substr($browVer,0,strlen("Mozilla")) == "Mozilla")  { 
  56.     $this->BROWSER = "Netscape"
  57.     $leftover=substr($browVer,strlen("Mozilla")+1,strlen($browVer)); 
  58.   } 
  59.   elseif(substr($browVer,0,strlen("Lynx")) == "Lynx")  { 
  60.     $this->BROWSER = "Lynx"
  61.     $leftover=substr($browVer,strlen("Lynx")+1,strlen($browVer)); 
  62.   } 
  63.   elseif(substr($browVer,0,strlen("MSIE")) == "MSIE") { 
  64.     $this->BROWSER = "IE"
  65.     $leftover=substr($browVer,strlen("MSIE")+1,strlen($browVer)); 
  66.   } 
  67.   elseif(substr($browVer,0,strlen("Microsoft Internet Explorer")) == "Microsoft Internet Explorer")  { 
  68.     $this->BROWSER = "IE"
  69.     $leftover=substr($browVer,strlen("Microsoft Internet Explorer")+1,strlen($browVer)); 
  70.   } 
  71.   elseif(substr($browVer,0,strlen("Opera")) == "Opera")  { 
  72.     $this->BROWSER = "Opera"
  73.     $leftover=substr($browVer,strlen("Opera")+1,strlen($browVer)); 
  74.   } 
  75.   $leftover = trim($leftover); 
  76.   $i=strpos($leftover," "); 
  77.   if($i > 0)  { 
  78.     $this->VERSION = substr($leftover,0,$i); 
  79.   } 
  80.   else  { 
  81.     $this->VERSION = $leftover
  82.   } 
  83.   $j = strpos($this->VERSION,"."); 
  84.   if($j >= 0)  { 
  85.     $this->MAJORVER = substr($this->VERSION,0,$j); 
  86.     $this->MINORVER = substr($this->VERSION,$j+1,strlen($this->VERSION)); 
  87.   } 
  88.   else  { 
  89.     $this->MAJORVER = $this->VERSION; 
  90.   } 
  91.  } 
  92. //测试程序开始 
  93. $test=new browserdetector; 
  94. echo $test->UA."<br>"
  95. echo $test->BROWSER."<br>"
  96. echo $test->PLATFORM."<br>"
  97. echo $test->VERSION."<br>"
  98. echo $test->MAJORVER."<br>"
  99. echo $test->MINORVER."<br>"
  100. ?> 

注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选