Heim Backend-Entwicklung PHP-Tutorial PHP-Klassenbibliothek zum Abrufen von Client-IP, geografischen Informationen, Browser und echter IP

PHP-Klassenbibliothek zum Abrufen von Client-IP, geografischen Informationen, Browser und echter IP

Apr 23, 2018 pm 02:32 PM
firefox webkit 地理信息

In diesem Artikel wird hauptsächlich die PHP-Klassenbibliothek zum Abrufen von Client-IP, geografischen Informationen, Browser und echter IP vorgestellt. Jetzt kann ich sie mit Ihnen teilen.

  1. <?php
    //作用取得客户端的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';
        }else {
            $br = 'Other';
        }
        return $br;
       }else{return "获取浏览器信息失败!";} 
      }
       
      ////获得访客浏览器语言
      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 "获取浏览器语言失败!";}
      }
       
       ////获取访客操作系统
      function GetOs(){
       if(!empty($_SERVER['HTTP_USER_AGENT'])){
        $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;  
       }else{return "获取访客操作系统信息失败!";}   
      }
       
      ////获得访客真实ip
      function Getip(){
       if(!empty($_SERVER["HTTP_CLIENT_IP"])){   
          $ip = $_SERVER["HTTP_CLIENT_IP"];
       }
       if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip
        $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
       }
       if($ip){
          $ips = array_unshift($ips,$ip); 
       }
        
       $count = count($ips);
       for($i=0;$i<$count;$i++){   
         if(!preg_match("/^(10|172\.16|192\.168)\./i",$ips[$i])){//排除局域网ip
          $ip = $ips[$i];
          break;    
          }  
       }  
       $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR']; 
       if($tip=="127.0.0.1"){ //获得本地真实IP
          return $this->get_onlineip();   
       }else{
          return $tip; 
       }
      }
       
      ////获得本地真实IP
      function get_onlineip() {
          $mip = file_get_contents("http://city.ip138.com/city0.asp");
           if($mip){
               preg_match("/\[.*\]/",$mip,$sip);
               $p = array("/\[/","/\]/");
               return preg_replace($p,"",$sip[0]);
           }else{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 "addree is none";}  
      } 
     }
     $gifo = new get_gust_info();
     echo "你的ip:".$gifo->Getip();
     echo "<br/>所在地:";
     $ipadds = $gifo->Getaddress();
     foreach($ipadds[0] as $value){
         echo "\r\n    ".iconv("utf-8","gbk",$value);    
     }
      
     echo "<br/>浏览器类型:".$gifo->GetBrowser();
     echo "<br/>浏览器语言:".$gifo->GetLang();
     echo "<br/>操作系统:".$gifo->GetOs();
    Nach dem Login kopieren

Verwandte Empfehlungen:

100 häufig verwendete PHP-Bibliotheksressourcen und -techniken

7 Möglichkeiten, den Suffixnamen von PHP-Dateien zu erhalten

Das obige ist der detaillierte Inhalt vonPHP-Klassenbibliothek zum Abrufen von Client-IP, geografischen Informationen, Browser und echter IP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie entferne ich Firefox Snap unter Ubuntu Linux? Wie entferne ich Firefox Snap unter Ubuntu Linux? Feb 21, 2024 pm 07:00 PM

Wie entferne ich Firefox Snap unter Ubuntu Linux?

Welchen Computer sollten Absolventen der Geoinformatik wählen? Welchen Computer sollten Absolventen der Geoinformatik wählen? Jan 13, 2024 am 08:00 AM

Welchen Computer sollten Absolventen der Geoinformatik wählen?

Kann Mozilla Firefox deinstalliert werden? Kann Mozilla Firefox deinstalliert werden? Mar 15, 2023 pm 04:40 PM

Kann Mozilla Firefox deinstalliert werden?

Neue Funktionen von Firefox 113: Unterstützung für AV1-Animationen, verbesserter Passwortgenerator und Bild-in-Bild-Funktionen Neue Funktionen von Firefox 113: Unterstützung für AV1-Animationen, verbesserter Passwortgenerator und Bild-in-Bild-Funktionen Mar 05, 2024 pm 05:20 PM

Neue Funktionen von Firefox 113: Unterstützung für AV1-Animationen, verbesserter Passwortgenerator und Bild-in-Bild-Funktionen

Wie kann ich Mozilla Firefox in Scrapy verwenden, um das Problem des Scannens des QR-Codes zum Anmelden zu lösen? Wie kann ich Mozilla Firefox in Scrapy verwenden, um das Problem des Scannens des QR-Codes zum Anmelden zu lösen? Jun 22, 2023 pm 09:50 PM

Wie kann ich Mozilla Firefox in Scrapy verwenden, um das Problem des Scannens des QR-Codes zum Anmelden zu lösen?

Apple veröffentlicht ein Update zur Behebung der WebKit-Schwachstelle und des übermäßigen Stromverbrauchs im MacBook Apple veröffentlicht ein Update zur Behebung der WebKit-Schwachstelle und des übermäßigen Stromverbrauchs im MacBook Apr 15, 2023 am 10:49 AM

Apple veröffentlicht ein Update zur Behebung der WebKit-Schwachstelle und des übermäßigen Stromverbrauchs im MacBook

Firefox-Browser Firefox 115 veröffentlicht, unterstützt die letzte Version von Win7/Win8.1 Firefox-Browser Firefox 115 veröffentlicht, unterstützt die letzte Version von Win7/Win8.1 Mar 04, 2024 pm 04:46 PM

Firefox-Browser Firefox 115 veröffentlicht, unterstützt die letzte Version von Win7/Win8.1

Ubuntu 23.10 führt Firefox standardmäßig im nativen Wayland-Modus aus Ubuntu 23.10 führt Firefox standardmäßig im nativen Wayland-Modus aus Feb 29, 2024 am 10:10 AM

Ubuntu 23.10 führt Firefox standardmäßig im nativen Wayland-Modus aus

See all articles