电脑技术学习

一个浏览器检查类

dn001 59 0
//原作者: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."
"
echo $test->BROWSER."
"
echo $test->PLATFORM."
"
echo $test->VERSION."
"
echo $test->MAJORVER."
"
echo $test->MINORVER."
"
?>;

标签: 浏览器