php获取浏览器信息。获取访客语言。获取访客操作系统。获取访客IP地址。获取访客地理位置。

php获取浏览器信息,获取访客语言:简体中文、繁體中文、English。获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。获取访客IP地址。获取访客地理位置,使用 新浪腾讯接口。

  1. <?php  
  2. /** 
  3.  * 获取访客信息的类:语言、浏览器、操作系统、IP、地理位置、ISP。 
  4.  * 使用: 
  5.  *      $obj = new guest_info; 
  6.  *      $obj->GetLang();     //获取访客语言:简体中文、繁體中文、English。 
  7.  *      $obj->GetBrowser();      //获取访客浏览器:MSIE、Firefox、Chrome、Safari、Opera、Other。 
  8.  *      $obj->GetOS();           //获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。 
  9.  *      $obj->GetIP();           //获取访客IP地址。 
  10.  *      $obj->GetAdd();          //获取访客地理位置,使用 Baidu 隐藏接口。 
  11.  *      $obj->GetIsp();          //获取访客ISP,使用 Baidu 隐藏接口。 
  12.  */  
  13. class guest_info{  
  14.     function GetLang() {  
  15.         $Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);  
  16.         //使用substr()截取字符串,从 0 位开始,截取4个字符  
  17.         if (preg_match('/zh-c/i',$Lang)) {  
  18.         //preg_match()正则表达式匹配函数  
  19.             $Lang = '简体中文';  
  20.         }  
  21.         elseif (preg_match('/zh/i',$Lang)) {  
  22.             $Lang = '繁體中文';  
  23.         }  
  24.         else {  
  25.             $Lang = 'English';  
  26.         }  
  27.         return $Lang;  
  28.     }  
  29.     function GetBrowser() {  
  30.         $Browser = $_SERVER['HTTP_USER_AGENT'];  
  31.         if (preg_match('/MSIE/i',$Browser)) {  
  32.             $Browser = 'MSIE';  
  33.         }  
  34.         elseif (preg_match('/Firefox/i',$Browser)) {  
  35.             $Browser = 'Firefox';  
  36.         }  
  37.         elseif (preg_match('/Chrome/i',$Browser)) {  
  38.             $Browser = 'Chrome';  
  39.         }  
  40.         elseif (preg_match('/Safari/i',$Browser)) {  
  41.             $Browser = 'Safari';  
  42.         }  
  43.         elseif (preg_match('/Opera/i',$Browser)) {  
  44.             $Browser = 'Opera';  
  45.         }  
  46.         else {  
  47.             $Browser = 'Other';  
  48.         }  
  49.         return $Browser;  
  50.     }  
  51.     function GetOS() {  
  52.         $OS = $_SERVER['HTTP_USER_AGENT'];  
  53.         if (preg_match('/win/i',$OS)) {  
  54.             $OS = 'Windows';  
  55.         }  
  56.         elseif (preg_match('/mac/i',$OS)) {  
  57.             $OS = 'MAC';  
  58.         }  
  59.         elseif (preg_match('/linux/i',$OS)) {  
  60.             $OS = 'Linux';  
  61.         }  
  62.         elseif (preg_match('/unix/i',$OS)) {  
  63.             $OS = 'Unix';  
  64.         }  
  65.         elseif (preg_match('/bsd/i',$OS)) {  
  66.             $OS = 'BSD';  
  67.         }  
  68.         else {  
  69.             $OS = 'Other';  
  70.         }  
  71.         return $OS;  
  72.     }  
  73.     function GetIP() {  
  74.         if (!empty($_SERVER['HTTP_CLIENT_IP'])) {  
  75.         //如果变量是非空或非零的值,则 empty()返回 FALSE。  
  76.             $IP = explode(',',$_SERVER['HTTP_CLIENT_IP']);  
  77.         }  
  78.         elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
  79.             $IP = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);  
  80.         }  
  81.         elseif (!empty($_SERVER['REMOTE_ADDR'])) {  
  82.             $IP = explode(',',$_SERVER['REMOTE_ADDR']);  
  83.         }  
  84.         else {  
  85.             $IP[0] = 'None';  
  86.         }  
  87.         return $IP[0];  
  88.     }  
  89.       
  90. }  
  91.   
  92. $obj = new guest_info;  
  93. echo    $obj->GetLang();     //获取访客语言:简体中文、繁體中文、English。  
  94. echo    $obj->GetBrowser();      //获取访客浏览器:MSIE、Firefox、Chrome、Safari、Opera、Other。  
  95. echo    $obj->GetOS();           //获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。  
  96. echo    $obj->GetIP();           //获取访客IP地址。  
  97.   
  98. ?>  

一、PHP利用腾讯IP分享计划获取IP地理位置
  1. <?php  
  2. function getIPLoc_QQ($queryIP){      
  3. $url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$queryIP;      
  4. $ch = curl_init($url);      
  5. curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');    
  6. curl_setopt($ch, CURLOPT_TIMEOUT, 10);     
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回    
  8. $result = curl_exec($ch);      
  9. $result = mb_convert_encoding($result"utf-8""gb2312"); // 编码转换,否则乱码   
  10. curl_close($ch);     
  11. preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);      
  12. $loc = $ipArray[1];      
  13. return $loc;  
  14.  }   
  15. //使用  
  16. echo    getIPLoc_QQ("183.37.209.57"); //即可得到IP地址所在的地址位置。     
  17. ?>  
二、PHP利用新浪IP查询接口获取IP地理位置
  1. <?php   
  2. function getIPLoc_sina($queryIP){      
  3. $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;      
  4. $ch = curl_init($url);       
  5. curl_setopt($ch,CURLOPT_ENCODING ,'utf8');       
  6. curl_setopt($ch, CURLOPT_TIMEOUT, 5);     
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回    
  8. $location = curl_exec($ch);      
  9. $location = json_decode($location);      
  10. curl_close($ch);           
  11. $loc = "";     
  12. if($location===FALSE) return "";       
  13. if (empty($location->desc)) {      
  14. $loc = $location->province.$location->city.$location->district.$location->isp;    
  15. }else{         $loc = $location->desc;      
  16. }      
  17. return $loc;  
  18. }  
  19. echo getIPLoc_sina("183.37.209.57");  
  20. ?> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值