PHP实现的浏览器检查类
本文实例讲述了PHP实现的浏览器检查类。分享给大家供大家参考,具体如下:
<?php //原作者:epsilon7 //SonyMusic([email]sonymusic@163.net[/email]) classBrowserDetector{ var$UA="";//$HTTP_USER_AGENT的内容 var$BROWSER="Unknown";//浏览器类型 var$PLATFORM="Unknown";//操作系统 var$VERSION="";//浏览器版本号 var$MAJORVER="";//浏览器主版本号 var$MINORVER="";//浏览器副版本号 /*构造函数开始*/ functionBrowserDetector(){ $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("MicrosoftInternetExplorer"))=="MicrosoftInternetExplorer"){ $this->BROWSER="IE"; $leftover=substr($browVer,strlen("MicrosoftInternetExplorer")+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=newbrowserdetector; 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相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。