-
- // Function to get the client’s IP, geographical information, and browser
- class get_gust_info {
- ////Get the visitor’s browser type
- 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 "Failed to obtain browser information!";}
- }
-
- ////Get visitor browser language
- 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 = "Simplified Chinese";
- }elseif(preg_match("/zh/i",$lang)){
- $lang = "Traditional Chinese";
- }else{
- $lang = "English";
- }
- return $lang;
-
- }else{return "Failed to obtain browser language! ";}
- }
-
- ////Get the guest operating system
- 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 "Failed to obtain guest operating system information! ";}
- }
-
- ////Get the visitor's real ip
- function Getip(){
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){
- $ip = $_SERVER["HTTP_CLIENT_IP"];
- }
- if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //Get proxy 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])){//Exclude LAN ip
- $ip = $ips[$i];
- break;
- }
- }
- $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
- if($tip=="127.0.0.1"){ //Get the local real IP
- return $this-> get_onlineip();
- }else{
- return $tip;
- }
- }
-
- ////Get the local real 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 "Failed to obtain local IP! ";}
- }
-
- ////Get the visitor's location name based on 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);//According to Sina api interface to get
- if($ipadd ){
- $charset = iconv("gbk","utf-8",$ipadd);
- preg_match_all("/[x{4e00}-x{9fa5}]+/u",$charset,$ipadds);
-
- return $ipadds; //Return a two-dimensional array
- }else{return "addree is none";}
- }
- }
- $gifo = new get_gust_info();
- echo "Your ip:".$gifo- >Getip();
- echo "
Location:";
- $ipadds = $gifo->Getaddress();
- foreach($ipadds[0] as $value){
- echo "rn " .iconv("utf-8","gbk",$value);
- }
-
- echo "
Browser type:".$gifo->GetBrowser();
- echo "
Browser language: ".$gifo->GetLang();
- echo "
Operating system: ".$gifo->GetOs();
- ?>
Copy code
>>>> Articles you may be interested in:
Get the php code of the user’s real IP address
Two ways to get the real IP of the external network with php
php code to get accurate client IP address
Introduction to the method of obtaining the real IP of the client in php
PHP gets the geolocation code via IP
Code sharing for php to obtain website location and operating system information
An example reference for php to obtain geographical location through IP
php implementation code to obtain the user’s real IP and geographical location (Taobao IP interface)
php gets current geographical location interface based on IP address
|