获取客户端信息一些php函数

	public static function getBrowse(){
		if(!empty($_SERVER['HTTP_USER_AGENT'])){
			$br = $_SERVER['HTTP_USER_AGENT'];
			if (preg_match('/MSIE/i',$br)) {
				$br = 'MSIE';
			}elseif (preg_match('/Firefox/i',$br)) {
				$br = 'Firefox';
			}elseif (preg_match('/Chrome/i',$br)) {
				$br = 'Chrome';
			}elseif (preg_match('/Safari/i',$br)) {
				$br = 'Safari';
			}elseif (preg_match('/Opera/i',$br)) {
				$br = 'Opera';
			}else {
				$br = 'Other';
			}
			return $br;
		} else { return "UnKnowBrowse";}
	}
	public static function getIP () {
		global $_SERVER;
		if (getenv('HTTP_CLIENT_IP')) {
			$ip = getenv('HTTP_CLIENT_IP');
		} else if (getenv('HTTP_X_FORWARDED_FOR')) {
			$ip = getenv('HTTP_X_FORWARDED_FOR');
		} else if (getenv('REMOTE_ADDR')) {
			$ip = getenv('REMOTE_ADDR');
		} else {
			$ip = $_SERVER['REMOTE_ADDR'];
		}
		return $ip;
	}
public static function getOS () {
		global $_SERVER;
		$agent = $_SERVER['HTTP_USER_AGENT'];
		$os = false;
		if (eregi('win', $agent) && strpos($agent, '95')){
			$os = 'Windows 95';
		}
		else if (eregi('win 9x', $agent) && strpos($agent, '4.90')){
			$os = 'Windows ME';
		}
		else if (eregi('win', $agent) && ereg('98', $agent)){
			$os = 'Windows 98';
		}
		else if (eregi('win', $agent) && eregi('nt 5.1', $agent)){
			$os = 'Windows XP';
		}
		else if (eregi('win', $agent) && eregi('nt 5', $agent)){
			$os = 'Windows Server';
		}
		else if (eregi('win', $agent) && eregi('nt', $agent)){
			$os = 'Windows NT';
		}
		else if (eregi('win', $agent) && ereg('32', $agent)){
			$os = 'Windows 32';
		}
		else if (eregi('linux', $agent)){
			$os = 'Linux';
		}
		else if (eregi('unix', $agent)){
			$os = 'Unix';
		}
		else if (eregi('sun', $agent) && eregi('os', $agent)){
			$os = 'SunOS';
		}
		else if (eregi('ibm', $agent) && eregi('os', $agent)){
			$os = 'IBM OS/2';
		}
		else if (eregi('Mac', $agent) && eregi('PC', $agent)){
			$os = 'Macintosh';
		}
		else if (eregi('PowerPC', $agent)){
			$os = 'PowerPC';
		}
		else if (eregi('AIX', $agent)){
			$os = 'AIX';
		}
		else if (eregi('HPUX', $agent)){
			$os = 'HPUX';
		}
		else if (eregi('NetBSD', $agent)){
			$os = 'NetBSD';
		}
		else if (eregi('BSD', $agent)){
			$os = 'BSD';
		}
		else if (ereg('OSF1', $agent)){
			$os = 'OSF1';
		}
		else if (ereg('IRIX', $agent)){
			$os = 'IRIX';
		}
		else if (eregi('FreeBSD', $agent)){
			$os = 'FreeBSD';
		}
		else if (eregi('teleport', $agent)){
			$os = 'teleport';
		}
		else if (eregi('flashget', $agent)){
			$os = 'flashget';
		}
		else if (eregi('webzip', $agent)){
			$os = 'webzip';
		}
		else if (eregi('offline', $agent)){
			$os = 'offline';
		}
		else {
			$os = 'Unknown';
		}
		return $os;
	}
	public static function Getaddress($ip=''){
		if(empty($ip)){
			$ip = self::getIP();
		}
		$ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);//根据新浪api接口获取
		if($ipadd){
			$charset = iconv("gbk","utf-8",$ipadd);
			preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$charset,$ipadds);
			return $ipadds;   //返回一个二维数组
		} else {return "addree is none";}
	}
	public static function getLang() {
		$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
		if (preg_match("/zh-c/i", $lang))
			return "zh-c";//简体
		else if (preg_match("/zh/i", $lang))
			return "zh";//繁体
		else if (preg_match("/en/i", $lang))
			return "en";//英文
		else if (preg_match("/fr/i", $lang))
			return "fr";
		else if (preg_match("/de/i", $lang))
			return "de";
		else if (preg_match("/jp/i", $lang))
			return "jp";
		else if (preg_match("/ko/i", $lang))
			return "ko";
		else if (preg_match("/es/i", $lang))
			return "Spanish";
		else if (preg_match("/sv/i", $lang))
			return "Swedish";
		else return "zh-c";
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值