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程序设计有所帮助。