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

PHP为了准确获得访问用户的浏览器 操作系统信息,以便返回给不同的用户不同的需求,比如不同的IE用户,分别加载不同的CSS文件

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

转载于:https://my.oschina.net/Xerxeschn/blog/83012

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值