用户画像统计分析之获取访问用户的操作系统-php实用功能记录(六)

阅读862评论0

d60d1572653743.png

获取访问者的操作系统,这一篇也算是通过UA构建用户画像的完结篇了。

获取操作系统分为两个方法,一个是PC的操作系统,一个是WAP的

获取PC操作系统:

function getOS($agent){
	$os = false;
	if (preg_match('/win/i', $agent) && strpos($agent, '95')){
		$os = 'win 95';
	}else if(preg_match('/win 9x/i', $agent) && strpos($agent, '4.90')){
		$os = 'win ME';
	}else if(preg_match('/win/i', $agent) && preg_match('/98/i', $agent)){
		$os = 'win 98';
	}else if(preg_match('/win/i', $agent) && preg_match('/nt 6.0/i', $agent)){
		$os = 'win Vista';
	}else if(preg_match('/win/i', $agent) && preg_match('/nt 6.1/i', $agent)){
		$os = 'win 7';
	}else if(preg_match('/win/i', $agent) && preg_match('/nt 6.2/i', $agent)){
		$os = 'win 8';
	}else if(preg_match('/win/i', $agent) && preg_match('/nt 10.0/i', $agent)){
		$os = 'win 10';
	}else if(preg_match('/win/i', $agent) && preg_match('/nt 5.1/i', $agent)){
		$os = 'win XP';
	}else if(preg_match('/win/i', $agent) && preg_match('/nt 5/i', $agent)){
		$os = 'win 2000';
	}else if(preg_match('/win/i', $agent) && preg_match('/nt/i', $agent)){
		$os = 'win NT';
	}else if(preg_match('/win/i', $agent) && preg_match('/32/i', $agent)){
		$os = 'win 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; 
}

获取WAP操作系统:

function getWap($agent){
	if (strpos($agent, 'Android') !== false) {
		preg_match("/(?<=Android )[\d\.]{1,}/", $agent, $version);
		return 'Android '.$version[0];
	} elseif (strpos($agent, 'iPhone') !== false) {
		preg_match("/(?<=CPU iPhone OS )[\d\_]{1,}/", $agent, $version);
		return 'iPhone '.str_replace('_', '.', $version[0]);
	} elseif (strpos($agent, 'iPad') !== false) {
		preg_match("/(?<=CPU OS )[\d\_]{1,}/", $agent, $version);
		return 'iPad '.str_replace('_', '.', $version[0]);
	}else{
		return '未知系统';
	}
}

$agent参数是用户的UA,也就是$_SERVER['HTTP_USER_AGENT']。

UA的其他使用:

用户画像统计分析之获取用户浏览器-php实用功能记录(四)

获取用户手机设备类型用户画像统计分析-php实用功能记录(五)


其他说明:

    由于UA是可以伪造的,所以这些可以作为参考


0 位网友评论:

欢迎来评论

请填写验证码