欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP获取用户的浏览器与操作系统信息的代码

程序员文章站 2022-05-25 20:53:52
1.用户访问服务器时,利用php的超级全局变量$_server数组中字段['http_user_agent'] 获取访问用户的所有信息 我访问时的$_server['ht...

1.用户访问服务器时,利用php的超级全局变量$_server数组中字段['http_user_agent'] 获取访问用户的所有信息

我访问时的$_server['http_user_agent'] 字符串 :

mozilla/5.0 (windows; u; windows nt 6.1; en-us) applewebkit/533.2 (khtml, like gecko) chrome/5.0.342.3 safari/533.2

2.利用正则表达式匹配以上字符串,用户的浏览器 操作系统信息

3.php根据匹配后的字符串(用户的浏览器 操作系统信息),分配需要的css文件,js等等…返回给用户

我的浏览器 操作系统信息
browser: chrome 5.0

platform: windows 7

代码如下:

复制代码 代码如下:

<?php
//显示访问用户的浏览器信息
echo 'browser: ' . determinebrowser($agent) . '<br>';
//显示访问用户的操作系统平台
echo 'platform: ' . determineplatform($agent). '<br>';

//正值表达式比对解析$_server['http_user_agent']中的字符串 获取访问用户的浏览器的信息
function determinebrowser ($agent) {
$browseragent="";   //浏览器
$browserversion=""; //浏览器的版本
if (ereg('msie ([0-9].[0-9]{1,2})',$agent,$version)) {
 $browserversion=$version[1];
 $browseragent="internet explorer";
} else if (ereg( 'opera/([0-9]{1,2}.[0-9]{1,2})',$agent,$version)) {
 $browserversion=$version[1];
 $browseragent="opera";
} else if (ereg( 'firefox/([0-9.]{1,5})',$agent,$version)) {
 $browserversion=$version[1];
 $browseragent="firefox";
}else if (ereg( 'chrome/([0-9.]{1,3})',$agent,$version)) {
 $browserversion=$version[1];
 $browseragent="chrome";
}
else if (ereg( 'safari/([0-9.]{1,3})',$agent,$version)) {
 $browseragent="safari";
 $browserversion="";
}
else {
$browserversion="";
$browseragent="unknown";
}
return $browseragent." ".$browserversion;
}

// 同理获取访问用户的浏览器的信息
function determineplatform ($agent) {
$browserplatform=='';
if (eregi('win',$agent) && strpos($agent, '95')) {
$browserplatform="windows 95";
}
elseif (eregi('win 9x',$agent) && strpos($agent, '4.90')) {
$browserplatform="windows me";
}
elseif (eregi('win',$agent) && ereg('98',$agent)) {
$browserplatform="windows 98";
}
elseif (eregi('win',$agent) && eregi('nt 5.0',$agent)) {
$browserplatform="windows 2000";
}
elseif (eregi('win',$agent) && eregi('nt 5.1',$agent)) {
$browserplatform="windows xp";
}
elseif (eregi('win',$agent) && eregi('nt 6.0',$agent)) {
$browserplatform="windows vista";
}
elseif (eregi('win',$agent) && eregi('nt 6.1',$agent)) {
$browserplatform="windows 7";
}
elseif (eregi('win',$agent) && ereg('32',$agent)) {
$browserplatform="windows 32";
}
elseif (eregi('win',$agent) && eregi('nt',$agent)) {
$browserplatform="windows nt";
}elseif (eregi('mac os',$agent)) {
$browserplatform="mac os";
}
elseif (eregi('linux',$agent)) {
$browserplatform="linux";
}
elseif (eregi('unix',$agent)) {
$browserplatform="unix";
}
elseif (eregi('sun',$agent) && eregi('os',$agent)) {
$browserplatform="sunos";
}
elseif (eregi('ibm',$agent) && eregi('os',$agent)) {
$browserplatform="ibm os/2";
}
elseif (eregi('mac',$agent) && eregi('pc',$agent)) {
$browserplatform="macintosh";
}
elseif (eregi('powerpc',$agent)) {
$browserplatform="powerpc";
}
elseif (eregi('aix',$agent)) {
$browserplatform="aix";
}
elseif (eregi('hpux',$agent)) {
$browserplatform="hpux";
}
elseif (eregi('netbsd',$agent)) {
$browserplatform="netbsd";
}
elseif (eregi('bsd',$agent)) {
$browserplatform="bsd";
}
elseif (ereg('osf1',$agent)) {
$browserplatform="osf1";
}
elseif (ereg('irix',$agent)) {
$browserplatform="irix";
}
elseif (eregi('freebsd',$agent)) {
$browserplatform="freebsd";
}
if ($browserplatform=='') {$browserplatform = "unknown"; }
return $browserplatform;
}

?>