一江春水向东流

做一个有思想的人,期待与每一位热爱思考的人交流,您的关注是对我最大的支持。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  44 随笔 :: 139 文章 :: 81 评论 :: 0 Trackbacks
<? 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> "
?>  


<?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>";
?>

posted on 2008-05-24 20:10 allic 阅读(191) 评论(0)  编辑  收藏 所属分类: PHP+MySQL开发

只有注册用户登录后才能发表评论。


网站导航: