• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

一个浏览器检查类

发布: 2007-7-14 19:53 | 作者: 佚名    | 来源: 网络转载     | 查看: 8次 | 进入软件测试论坛讨论

领测软件测试网 <?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>";
?>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网