发布:sunday01 来源:net 阅读: 2 【大 中 小】
在较为智能的程序中,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等,返回给用户
我的浏览器与操作系统信息:
Browser: Chrome 5.0
Platform: Windows 7
下面给出一个完整的例子。
原始链接:http://www.jbxue.com/article/6229.html
使用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等,返回给用户
我的浏览器与操作系统信息:
Browser: Chrome 5.0
Platform: Windows 7
下面给出一个完整的例子。
<?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;
}
?>
//显示访问用户的浏览器信息
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;
}
?>
原始链接:http://www.jbxue.com/article/6229.html