php获取浏览器信息,获取访客语言:简体中文、繁體中文、English。 获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。 获取访客IP地址。获取访客地理位置,使用 新浪腾讯接口。 <?php /** * 获取访客信息的类:语言、浏览器、操作系统、IP、地理位置、ISP。 * 使用: * $obj = new guest_info; * $obj->GetLang(); //获取访客语言:简体中文、繁體中文、English。 * $obj->GetBrowser(); //获取访客浏览器:MSIE、Firefox、Chrome、Safari、Opera、Other。 * $obj->GetOS(); //获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。 * $obj->GetIP(); //获取访客IP地址。 * $obj->GetAdd(); //获取访客地理位置,使用 Baidu 隐藏接口。 * $obj->GetIsp(); //获取访客ISP,使用 Baidu 隐藏接口。 */ class guest_info{ function GetLang() { $Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //使用substr()截取字符串,从 0 位开始,截取4个字符 if (preg_match('/zh-c/i',$Lang)) { //preg_match()正则表达式匹配函数 $Lang = '简体中文'; } www. elseif (preg_match('/zh/i',$Lang)) { $Lang = '繁體中文'; } else { $Lang = 'English'; } return $Lang; } function GetBrowser() { $Browser = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/MSIE/i',$Browser)) { $Browser = 'MSIE'; } elseif (preg_match('/Firefox/i',$Browser)) { $Browser = 'Firefox'; } elseif (preg_match('/Chrome/i',$Browser)) { $Browser = 'Chrome'; } elseif (preg_match('/Safari/i',$Browser)) { $Browser = 'Safari'; } elseif (preg_match('/Opera/i',$Browser)) { $Browser = 'Opera'; } else { $Browser = 'Other'; } return $Browser; } function GetOS() { $OS = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/win/i',$OS)) { $OS = 'Windows'; } elseif (preg_match('/mac/i',$OS)) { $OS = 'MAC'; } elseif (preg_match('/linux/i',$OS)) { $OS = 'Linux'; } www. elseif (preg_match('/unix/i',$OS)) { $OS = 'Unix'; } elseif (preg_match('/bsd/i',$OS)) { $OS = 'BSD'; } else { $OS = 'Other'; } return $OS; } function GetIP() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) { //如果变量是非空或非零的值,则 empty()返回 FALSE。 $IP = explode(',',$_SERVER['HTTP_CLIENT_IP']); } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $IP = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); } elseif (!empty($_SERVER['REMOTE_ADDR'])) { $IP = explode(',',$_SERVER['REMOTE_ADDR']); } else { $IP[0] = 'None'; } return $IP[0]; } } $obj = new guest_info; echo $obj->GetLang(); //获取访客语言:简体中文、繁體中文、English。 echo $obj->GetBrowser(); //获取访客浏览器:MSIE、Firefox、Chrome、Safari、Opera、Other。 echo $obj->GetOS(); //获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。 echo $obj->GetIP(); //获取访客IP地址。 ?> 一、PHP利用腾讯IP分享计划获取IP地理位置 <?php function getIPLoc_QQ($queryIP){ $url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$queryIP; $ch = curl_init($url); curl_setopt($ch,CURLOPT_ENCODING ,'gb2312'); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回 $result = curl_exec($ch); www. $result = mb_convert_encoding($result, "utf-8", "gb2312"); // 编码转换,否则乱码 curl_close($ch); preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray); $loc = $ipArray[1]; return $loc; } //使用 echo getIPLoc_QQ("183.37.209.57"); //即可得到IP地址所在的地址位置。 ?> 二、PHP利用新浪IP查询接口获取IP地理位置 <?php function getIPLoc_sina($queryIP){ $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP; $ch = curl_init($url); curl_setopt($ch,CURLOPT_ENCODING ,'utf8'); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回 $location = curl_exec($ch); $location = json_decode($location); curl_close($ch); $loc = ""; www. if($location===FALSE) return ""; if (empty($location->desc)) { $loc = $location->province.$location->city.$location->district.$location->isp; }else{ $loc = $location->desc; } return $loc; } echo getIPLoc_sina("183.37.209.57"); ?>
|
|