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<BR>//显示访问用户的浏览器信息<BR>echo 'Browser: ' . determinebrowser($Agent) . '<BR>';<BR>//显示访问用户的操作系统平台<BR>echo 'Platform: ' . determineplatform($Agent). '<BR>';</P><P>//正值表达式比对解析$_SERVER['HTTP_USER_AGENT']中的字符串 获取访问用户的浏览器的信息<BR>function determinebrowser ($Agent) {<BR>$browseragent=""; //浏览器<BR>$browserversion=""; //浏览器的版本<BR>if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) {<BR> $browserversion=$version[1];<BR> $browseragent="Internet Explorer";<BR>} else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) {<BR> $browserversion=$version[1];<BR> $browseragent="Opera";<BR>} else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) {<BR> $browserversion=$version[1];<BR> $browseragent="Firefox";<BR>}else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) {<BR> $browserversion=$version[1];<BR> $browseragent="Chrome";<BR>}<BR>else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) {<BR> $browseragent="Safari";<BR> $browserversion="";<BR>}<BR>else {<BR>$browserversion="";<BR>$browseragent="Unknown";<BR>}<BR>return $browseragent." ".$browserversion;<BR>}</P><P>// 同理获取访问用户的浏览器的信息<BR>function determineplatform ($Agent) {<BR>$browserplatform=='';<BR>if (eregi('win',$Agent) && strpos($Agent, '95')) {<BR>$browserplatform="Windows 95";<BR>}<BR>elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {<BR>$browserplatform="Windows ME";<BR>}<BR>elseif (eregi('win',$Agent) && ereg('98',$Agent)) {<BR>$browserplatform="Windows 98";<BR>}<BR>elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {<BR>$browserplatform="Windows 2000";<BR>}<BR>elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {<BR>$browserplatform="Windows XP";<BR>}<BR>elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) {<BR>$browserplatform="Windows Vista";<BR>}<BR>elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) {<BR>$browserplatform="Windows 7";<BR>}<BR>elseif (eregi('win',$Agent) && ereg('32',$Agent)) {<BR>$browserplatform="Windows 32";<BR>}<BR>elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {<BR>$browserplatform="Windows NT";<BR>}elseif (eregi('Mac OS',$Agent)) {<BR>$browserplatform="Mac OS";<BR>}<BR>elseif (eregi('linux',$Agent)) {<BR>$browserplatform="Linux";<BR>}<BR>elseif (eregi('unix',$Agent)) {<BR>$browserplatform="Unix";<BR>}<BR>elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {<BR>$browserplatform="SunOS";<BR>}<BR>elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {<BR>$browserplatform="IBM OS/2";<BR>}<BR>elseif (e<div>本文来*源gaodai^.ma#com搞#代!码网</div><pre>搞gaodaima代码
regi(‘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;
}
?>