<?php header("Content-type:text/html;charset=utf-8"); // 作用获取客户端的ip、地理信息、浏览器、本地真实IP class get_gust_info { //获得访客浏览器类型 function GetBrowser(){ 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'; }elseif (preg_match('/QQBrowser/i',$br)) { $br = 'QQBrowser'; }elseif (preg_match('/UCBrowser/i',$br)) { $br = 'UCBrowser'; }else { $br = 'Other'; } return $br; }else { return false; } } //获得访客浏览器语言 function GetLang() { if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; $lang = substr($lang,0,5); if(preg_match("/zh-cn/i",$lang)) { $lang = "简体中文"; }elseif(preg_match("/zh/i",$lang)) { $lang = "繁体中文"; }else{ $lang = "English"; } return $lang; }else { return false; } } //获取访客操作系统 function GetOs(){ if(!empty($_SERVER['HTTP_USER_AGENT'])) { $OS = $_SERVER['HTTP_USER_AGENT']; if (strpos($OS, 'Android') !== false) {//strpos()定位出第一次出现字符串的位置,这里定位为0 preg_match("/(?<=Android )[d.]{1,}/", $OS, $version); $OS ='Android '.$version[0]; }elseif (strpos($OS, 'iPhone') !== false) { preg_match("/(?<=CPU iPhone OS )[d\_]{1,}/", $OS, $version); $OS = 'iPhone iOS '.str_replace('_', '.', $version[0]); }elseif (strpos($OS, 'iPad') !== false) { preg_match("/(?<=CPU OS )[d\_]{1,}/", $OS, $version); $OS = 'iPad iOS '.str_replace('_', '.', $version[0]); }elseif (preg_match('/win/i',$OS)) { $OS = 'Windows'; }elseif (preg_match('/mac/i',$OS)) { $OS = 'MAC'; }elseif (preg_match('/linux/i',$OS)) { $OS = 'Linux'; }elseif (preg_match('/unix/i',$OS)) { $OS = 'Unix'; }elseif (preg_match('/bsd/i',$OS)) { $OS = 'BSD'; }else { $OS = 'Other'; } return $OS; }else { return false; } } //获得访客真实ip function Getip() { $ip = false; if (getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP"); }elseif (getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR"); }elseif (getenv("REMOTE_ADDR")) { $ip = getenv("REMOTE_ADDR"); } return $ip; } //根据ip获得访客所在地地名 function Getaddress($ip='') { if(empty($ip)) { $ip = $this->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 "address is none"; } } } $gifo = new get_gust_info(); echo "浏览器类型:".$gifo->GetBrowser().'<br>'; echo "浏览器语言:".$gifo->GetLang().'<br>'; echo "操作系统:".$gifo->GetOs().'<br>'; echo "你的ip:".$gifo->getIP().'<br>'; echo "所在地:"; $address = $gifo->Getaddress($gifo->getIP()); foreach ($address[0] as $key) { echo $key.' '; } ?>