本文实例讲述了php实现的浏览器检查类。分享给大家供大家参考,具体如下:
<?php
//原作者:epsilon7
//sonymusic([email]sonymusic@163.net[/email])
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相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《php运算与运算符用法总结》、《php网络编程技巧总结》、《php基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!