程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php獲取浏覽器信息、訪客語言、訪客操作系統、訪客IP地址及訪客地理位置

php獲取浏覽器信息、訪客語言、訪客操作系統、訪客IP地址及訪客地理位置

編輯:PHP綜合

php獲取浏覽器信息。獲取訪客語言。獲取訪客操作系統。獲取訪客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地理位置

<?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);      
$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 = "";     
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

效果如下圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved