动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

 一个浏览器检查类

作者来源: 
阅读 1314 人次 , 2006-3-29 4:10:00 


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

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:判断WebSERVER类型
· 下一篇:数字转换为中文的类
· MySQL数据库基础教程
· 用Php如何操作LDAP
· 说说PHP作图
· php文本站内全文检索
· PHP4调用JavaBean的摸索


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077