服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

PHP获取客户端操作系统,浏览器,语言,IP

时间:2016-01-30 15:48来源: 作者: 点击:
PHP获取客户端操作系统,浏览器,语言,IP,IP归属地等,代码如下 ?php class Client { ////获得访客浏览器类型 function Get_Browser(){ if(!empty($_SERVER[HTTP_USER_AGENT])){ $br = $_SERVER[HTTP_USER_AGENT]; if (p

PHP获取客户端操作系统,浏览器,语言,IP,IP归属地等,代码如下

<?php
class Client
{
  ////获得访客浏览器类型
    function Get_Browser(){
        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 "unknow";
           } 
  }
  
  ////获得访客浏览器语言
    function Get_Lang(){
        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 "unknow";
           }
  }
  
   ////获取访客操作系统
    function Get_Os(){
           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 "unknow";
           }   
  }
  
  ////获得访客真实ip
    function Get_Ip_Addr(){
           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 self::get_onlineip();   
           }
           else{
              return $tip; 
           }
  }
  
  ////获得本地真实IP
  function get_onlineip() {
        $ip_json = @file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=myip");
        $ip_arr=json_decode(stripslashes($ip_json),1);
        if($ip_arr['code']==0)
        {
            return $ip_arr['data']['ip'];
        }
        
   }
  
  ////根据ip获得访客所在地地名
    function Get_Ip_From($ip=''){
        if(empty($ip)){
            $ip = self::Getip();    
        }
           $ip_json=@file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);//根据taobao ip
           $ip_arr=json_decode(stripslashes($ip_json),1);
           if($ip_arr['code']==0)
           {
               return $ip_arr;
           }
           else
           {
               return false;
           }
           
    }

}

(责任编辑:最模板)
顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容