2019-03-29 12:27:51 qq_26605049 阅读数 553
  • 微信公众号开发7-用户管理-微信开发php

    微信公众平台开发之微信用户开发管理是子恒老师《微信公众平台开发》视频教程的第7部。详细讲解了用php开发微信,对微信公众平台中的粉丝用户管理开发。内容包含微信公众平台用户分组,获取微信用户列表,查询用户详情等等。欢迎反馈,微信/QQ:68183131

    14030 人正在学习 去看看 秦子恒

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

声明:

近期学习了如果获得用户操作系统和浏览模拟器信息,在此分享一下,希望能对爱学习的小伙伴有所帮助… 代码片.

// 获取用户操作系统 和 浏览器模式
function getBrowser()
{
    // 获取用户代理基本信息
    $flag = $_SERVER['HTTP_USER_AGENT'];
    // 定义一个空数组
    $para = array();
    // 检查操作系统
    if (preg_match('/Windows[\d\. \w]*/', $flag, $match)) $para['os'] = $match[0];

    if (preg_match('/Chrome\/[\d\.\w]*/', $flag, $match)) {
        // 检查Chrome
        $para['browser'] = $match[0];
    } elseif (preg_match('/Safari\/[\d\.\w]*/', $flag, $match)) {
        // 检查Safari
        $para['browser'] = $match[0];
    } elseif (preg_match('/MSIE [\d\.\w]*/', $flag, $match)) {
        // IE
        $para['browser'] = $match[0];
    } elseif (preg_match('/Opera\/[\d\.\w]*/', $flag, $match)) {
        // opera
        $para['browser'] = $match[0];
    } elseif (preg_match('/Firefox\/[\d\.\w]*/', $flag, $match)) {
        // Firefox
        $para['browser'] = $match[0];
    } elseif (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $flag, $match)) {
        //OmniWeb
        $para['browser'] = $match[2];
    } elseif (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $flag, $match)) {
        //Netscape
        $para['browser'] = $match[2];
    } elseif (preg_match('/Lynx\/([^\s]+)/i', $flag, $match)) {
        //Lynx
        $para['browser'] = $match[1];
    } elseif (preg_match('/360SE/i', $flag, $match)) {
        //360SE
        $para['browser'] = '360安全浏览器';
    } elseif (preg_match('/SE 2.x/i', $flag, $match)) {
        //搜狗
        $para['browser'] = '搜狗浏览器';
    } else {
        $para['browser'] = 'unkown';
    }
    // 数据返回
    return $para;
}

使用如下:

// 调用
echo "<pre>";
var_dump(getBrowser());

// 调用返回
array(2) {
  ["os"]=>
  string(15) "Windows NT 10.0"
  ["browser"]=>
  string(12) "Firefox/66.0"
}
2020-01-15 09:35:46 huangkang1995 阅读数 4
  • 微信公众号开发7-用户管理-微信开发php

    微信公众平台开发之微信用户开发管理是子恒老师《微信公众平台开发》视频教程的第7部。详细讲解了用php开发微信,对微信公众平台中的粉丝用户管理开发。内容包含微信公众平台用户分组,获取微信用户列表,查询用户详情等等。欢迎反馈,微信/QQ:68183131

    14030 人正在学习 去看看 秦子恒

PHP获取客户端浏览以及操作系统信息

PHP获取客户端浏览器以及操作系统信息是通过客户端浏览器传递过来的useragent信息进行判定的,因为客户端useragent信息可以伪造,所以通过PHP获取到的浏览器以及操作系统信息只能作为参考,如下代码还有待丰富的地方。

PHP中可以直接通过读取超全局数组$_SERVER[‘HTTP_USER_AGENT’]进行正则匹配即可获取到相应的浏览和操作系统信息。说白了,就是对php的pcre兼容的正则表达式的理解。

一、获取客户端浏览器信息,包括版本号

function get_broswer(){
    	 $sys = $_SERVER['HTTP_USER_AGENT'];  //获取用户代理字符串
         if (stripos($sys, "Firefox/") > 0) {
             preg_match("/Firefox\/([^;)]+)+/i", $sys, $b);
             $exp[0] = "Firefox";
             $exp[1] = $b[1];  //获取火狐浏览器的版本号
         } elseif (stripos($sys, "Maxthon") > 0) {
             preg_match("/Maxthon\/([\d\.]+)/", $sys, $aoyou);
             $exp[0] = "傲游";
             $exp[1] = $aoyou[1];
         } elseif (stripos($sys, "MSIE") > 0) {
             preg_match("/MSIE\s+([^;)]+)+/i", $sys, $ie);
             $exp[0] = "IE";
             $exp[1] = $ie[1];  //获取IE的版本号
         } elseif (stripos($sys, "OPR") > 0) {
    		     preg_match("/OPR\/([\d\.]+)/", $sys, $opera);
             $exp[0] = "Opera";
             $exp[1] = $opera[1];  
         } elseif(stripos($sys, "Edge") > 0) {
             //win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配
             preg_match("/Edge\/([\d\.]+)/", $sys, $Edge);
             $exp[0] = "Edge";
             $exp[1] = $Edge[1];
         } elseif (stripos($sys, "Chrome") > 0) {
    		     preg_match("/Chrome\/([\d\.]+)/", $sys, $google);
             $exp[0] = "Chrome";
             $exp[1] = $google[1];  //获取google chrome的版本号
         } elseif(stripos($sys,'rv:')>0 && stripos($sys,'Gecko')>0){
             preg_match("/rv:([\d\.]+)/", $sys, $IE);
    		     $exp[0] = "IE";
             $exp[1] = $IE[1];
         }else {
    		$exp[0] = "未知浏览器";
            $exp[1] = ""; 
    	 }
         return $exp[0].'('.$exp[1].')';
    }

二、获取客户端操作系统信息,包括粗略的版本信息

function get_os(){
    $agent = $_SERVER['HTTP_USER_AGENT'];
        $os = false;
     
        if (preg_match('/win/i', $agent) && strpos($agent, '95'))
        {
          $os = 'Windows 95';
        }
        else if (preg_match('/win 9x/i', $agent) && strpos($agent, '4.90'))
        {
          $os = 'Windows ME';
        }
        else if (preg_match('/win/i', $agent) && preg_match('/98/i', $agent))
        {
          $os = 'Windows 98';
        }
        else if (preg_match('/win/i', $agent) && preg_match('/nt 6.0/i', $agent))
        {
          $os = 'Windows Vista';
        }
        else if (preg_match('/win/i', $agent) && preg_match('/nt 6.1/i', $agent))
        {
          $os = 'Windows 7';
        }
    	  else if (preg_match('/win/i', $agent) && preg_match('/nt 6.2/i', $agent))
        {
          $os = 'Windows 8';
        }else if(preg_match('/win/i', $agent) && preg_match('/nt 10.0/i', $agent))
        {
          $os = 'Windows 10';#添加win10判断
        }else if (preg_match('/win/i', $agent) && preg_match('/nt 5.1/i', $agent))
        {
          $os = 'Windows XP';
        }
        else if (preg_match('/win/i', $agent) && preg_match('/nt 5/i', $agent))
        {
          $os = 'Windows 2000';
        }
        else if (preg_match('/win/i', $agent) && preg_match('/nt/i', $agent))
        {
          $os = 'Windows NT';
        }
        else if (preg_match('/win/i', $agent) && preg_match('/32/i', $agent))
        {
          $os = 'Windows 32';
        }
        else if (preg_match('/linux/i', $agent))
        {
          $os = 'Linux';
        }
        else if (preg_match('/unix/i', $agent))
        {
          $os = 'Unix';
        }
        else if (preg_match('/sun/i', $agent) && preg_match('/os/i', $agent))
        {
          $os = 'SunOS';
        }
        else if (preg_match('/ibm/i', $agent) && preg_match('/os/i', $agent))
        {
          $os = 'IBM OS/2';
        }
        else if (preg_match('/Mac/i', $agent) && preg_match('/PC/i', $agent))
        {
          $os = 'Macintosh';
        }
        else if (preg_match('/PowerPC/i', $agent))
        {
          $os = 'PowerPC';
        }
        else if (preg_match('/AIX/i', $agent))
        {
          $os = 'AIX';
        }
        else if (preg_match('/HPUX/i', $agent))
        {
          $os = 'HPUX';
        }
        else if (preg_match('/NetBSD/i', $agent))
        {
          $os = 'NetBSD';
        }
        else if (preg_match('/BSD/i', $agent))
        {
          $os = 'BSD';
        }
        else if (preg_match('/OSF1/i', $agent))
        {
          $os = 'OSF1';
        }
        else if (preg_match('/IRIX/i', $agent))
        {
          $os = 'IRIX';
        }
        else if (preg_match('/FreeBSD/i', $agent))
        {
          $os = 'FreeBSD';
        }
        else if (preg_match('/teleport/i', $agent))
        {
          $os = 'teleport';
        }
        else if (preg_match('/flashget/i', $agent))
        {
          $os = 'flashget';
        }
        else if (preg_match('/webzip/i', $agent))
        {
          $os = 'webzip';
        }
        else if (preg_match('/offline/i', $agent))
        {
          $os = 'offline';
        }
        else
        {
          $os = '未知操作系统';
        }
        return $os;  
    }

三、获取用户IP

function get_real_ip()
	{
		$ip=FALSE;
		//客户端IP 或 NONE 
		if(!empty($_SERVER["HTTP_CLIENT_IP"])){
			$ip = $_SERVER["HTTP_CLIENT_IP"];
		}
		//多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空
		if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
			$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
			if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
			for ($i = 0; $i < count($ips); $i++) {
				if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
					$ip = $ips[$i];
					break;
				}
			}	
		}
		//客户端IP 或 (最后一个)代理服务器 IP 
		return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
	}
2016-08-08 10:40:18 myhuashengmi 阅读数 3963
  • 微信公众号开发7-用户管理-微信开发php

    微信公众平台开发之微信用户开发管理是子恒老师《微信公众平台开发》视频教程的第7部。详细讲解了用php开发微信,对微信公众平台中的粉丝用户管理开发。内容包含微信公众平台用户分组,获取微信用户列表,查询用户详情等等。欢迎反馈,微信/QQ:68183131

    14030 人正在学习 去看看 秦子恒

如今上网的渠道是越来越多了,不再局限于PC互联网端了,如今使用的手机上网,IPAD,IPHONE等等也作为了主流,除了上网的客户端变得多样外,还有用户的操作系统也变得多样,虽然windows还是主流,但是现在还有比较专业的设计人员用的是mac,另外手机操作系统 android 也是作为手机主流操作系统来供用户来访问的。

既然上网的渠道变得多样化,用户使用的操作系统和设备也多了起来,这些终端的信息对于我们用户来说并没哪么重要,我们只要可以用来上网就行了,体验好就可以,但这些信息对于专业的SEO人员或者是数据分析师来说,却是不可缺少的,因为只有通过了解用户通过什么方式,什么渠道进入到我们的产品站点或者是 产品APP,当整个数据都一目明了的时候,我们就可以进行对产品进行有效的广告投放,当然这个只是简单的获取访问的操作系统和IOS的设备,更详细的还可以进行获取访问人数的年龄,地域,性别等等,这里就不再进行更为详细的介绍了。

那么下面仅是一个简单的PHP判断用户访问的操作系统,以及IOS设备的PHP实例函数,其中集成了 windows nt,mac,ipod,ipad等主流系统和IOS设备,可以根据自己的情况进行修改,将其函数直接包含到 php 页面中即可返回相应信息。

function getOS()
{
$agent = strtolower($_SERVER[‘HTTP_USER_AGENT’]);

if(strpos($agent, ‘windows nt’)) {
$platform = ‘windows';
} elseif(strpos($agent, ‘macintosh’)) {
$platform = ‘mac';
} elseif(strpos($agent, ‘ipod’)) {
$platform = ‘ipod';
} elseif(strpos($agent, ‘ipad’)) {
$platform = ‘ipad';
} elseif(strpos($agent, ‘iphone’)) {
$platform = ‘iphone';
} elseif (strpos($agent, ‘android’)) {
$platform = ‘android';
} elseif(strpos($agent, ‘unix’)) {
$platform = ‘unix';
} elseif(strpos($agent, ‘linux’)) {
$platform = ‘linux';
} else {
$platform = ‘other';
}

return $platform;
}

2013-03-19 11:05:57 manito_y 阅读数 933
  • 微信公众号开发7-用户管理-微信开发php

    微信公众平台开发之微信用户开发管理是子恒老师《微信公众平台开发》视频教程的第7部。详细讲解了用php开发微信,对微信公众平台中的粉丝用户管理开发。内容包含微信公众平台用户分组,获取微信用户列表,查询用户详情等等。欢迎反馈,微信/QQ:68183131

    14030 人正在学习 去看看 秦子恒
function os(){
					$os = $_SERVER['HTTP_USER_AGENT'];
					if(preg_match('/NT\s5\.1/',$os)){
					$os = "Windows XP";
					}elseif(preg_match('/NT\s6\.0/',$os)){
					$os =  "Windows Vista \ server 2008";
					}elseif(preg_match('/NT\s5\.2/',$os)){
					$os = "Windows Server 2003";
					}elseif(preg_match('/NT\s5/',$os)){
					$os = "Windows 2000";
					}elseif(preg_match('/NT/',$os)){
					$os ="Windows NT";
					}elseif(preg_match('/NT\s6\.1/',$os)){
					$os = "Windows 7";
					}elseif(preg_match('/Linux/',$os)){
					$os ="Linux";
					}elseif(preg_match('/Unix/',$os)){
					$os = "Unix";
					}elseif(preg_match('/Mac/',$os)){
					$os = "Macintosh";
					}elseif(preg_match('/NT\s6\.1/',$os)){
					$os ="Windows 7";
					}
					else $os ="Unknow OS";
					return $os;
					}

2009-08-03 13:39:00 aosnowasp 阅读数 871
  • 微信公众号开发7-用户管理-微信开发php

    微信公众平台开发之微信用户开发管理是子恒老师《微信公众平台开发》视频教程的第7部。详细讲解了用php开发微信,对微信公众平台中的粉丝用户管理开发。内容包含微信公众平台用户分组,获取微信用户列表,查询用户详情等等。欢迎反馈,微信/QQ:68183131

    14030 人正在学习 去看看 秦子恒

 // --------------------------------------------------
 // 分析返回用户操作系统名称
 // --------------------------------------------------
 function getSystem(){
  $sys = $_SERVER['HTTP_USER_AGENT'];
  if(stripos($sys, "NT 6.1"))
   $os = "Windows 7";
  elseif(stripos($sys, "NT 6.0"))
   $os = "Windows Vista";
  elseif(stripos($sys, "NT 5.1"))
   $os = "Windows XP";
  elseif(stripos($sys, "NT 5.2"))
   $os = "Windows Server 2003";
  elseif(stripos($sys, "NT 5"))
   $os = "Windows 2000";
  elseif(stripos($sys, "NT 4.9"))
   $os = "Windows ME";
  elseif(stripos($sys, "NT 4"))
   $os = "Windows NT 4.0";
  elseif(stripos($sys, "98"))
   $os = "Windows 98";
  elseif(stripos($sys, "95"))
   $os = "Windows 95";
  elseif(stripos($sys, "Mac"))
   $os = "Mac";
  elseif(stripos($sys, "Linux"))
   $os = "Linux";
  elseif(stripos($sys, "Unix"))
   $os = "Unix";
  elseif(stripos($sys, "FreeBSD"))
   $os = "FreeBSD";
  elseif(stripos($sys, "SunOS"))
   $os = "SunOS";
  elseif(stripos($sys, "BeOS"))
   $os = "BeOS";
  elseif(stripos($sys, "OS/2"))
   $os = "OS/2";
  elseif(stripos($sys, "PC"))
   $os = "Macintosh";
  elseif(stripos($sys, "AIX"))
   $os = "AIX";
  else
   $os = "未知操作系统";
   
  return $os;
 }
 
 // --------------------------------------------------
 // 分析返回用户网页浏览器名称
 // --------------------------------------------------
 function getBrowser(){
  $sys = $_SERVER['HTTP_USER_AGENT'];
  if(stripos($sys, "NetCaptor") > 0)
   $exp = "NetCaptor";
  elseif(stripos($sys, "Firefox/") > 0){
   preg_match("/Firefox//([^;)]+)+/i", $sys, $b);
   $exp = "Mozilla Firefox ".$b[1];
  }elseif(stripos($sys, "MAXTHON") > 0){
   preg_match("/MAXTHON/s+([^;)]+)+/i", $sys, $b);
   preg_match("/MSIE/s+([^;)]+)+/i", $sys, $ie);
   $exp = $b[0]." (IE".$ie[1].")";
  }elseif(stripos($sys, "MSIE") > 0){
   preg_match("/MSIE/s+([^;)]+)+/i", $sys, $ie);
   $exp = "Internet Explorer ".$ie[1];
  }elseif(stripos($sys, "Netscape") > 0)
   $exp = "Netscape";
  elseif(stripos($sys, "Opera") > 0)
   $exp = "Opera";
  else
   $exp = "未知浏览器";
   
  return $exp;
 }

没有更多推荐了,返回首页