php获取浏览器信息、访客语言、访客操作系统、访客IP地址及访客地理位置2014-10-18php获取浏览器信息。获取访客语言。获取访客操作系统。获取访客IP地址。获取访客地理位置。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 = "简体中文";}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";}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地址。?>URL:http://www.bianceng.cn/webkf/PHP/201410/45941.htm一、PHP利用腾讯IP分享计划获取IP地理位置
<?phpfunction 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);$result = mb_convert_encoding($result, "utf-8", "gb2312"); // 编码转换,否则乱码 curl_close($ch); preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);$loc = $ipArray[1];return $loc; } //使用echogetIPLoc_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 = ""; 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");?>点这个地址下载吧:http://download.csdn.net/detail/u011986449/6871205效果如下图: