那一抹温暖的阳光,是我们永恒的向往。
www.webbar.cn

php获取客户端浏览器以及操作系统信息的方法

php获取客户端浏览器以及操作系统信息的方法

在较为智能的程序中,php可以获取客户端浏览器及操作系统信息,然后根据浏览器及系统类型,加载不同的页面,以提供更加个性化的服务。

使用php获取客户端浏览器与操作系统信息。

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等,返回给用户

下面给出一个完整的例子。

<?php
//显示访问用户的浏览器信息
echo ‘Browser: ‘ . determinebrowser($Agent) . ‘<BR>';
//显示访问用户的操作系统平台
echo ‘Platform: ‘ . determineplatform($Agent). ‘<BR>';

//link:http://www.jbxue.com
//正值表达式比对解析$_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;
}
?>

 

时间:2013-12-30
分类:PHP , 编程语言

Comments are closed.

Search