Heim >Backend-Entwicklung >PHP-Tutorial >增强记忆的好方法,做笔记---php获取用户ip地址及所在城市_PHP教程

增强记忆的好方法,做笔记---php获取用户ip地址及所在城市_PHP教程

WBOY
WBOYOriginal
2016-07-13 17:45:50887Durchsuche

增强对知识的记忆最笨得方法也是最好的办法就是做笔记,从今天开始记录我的php工作、学习笔记。
1、获取浏览者的ip地址及所在城市的代码
首先是获取浏览者的ip地址的函数
function getRealIp() { 
       if (!emptyempty($_SERVER['HTTP_CLIENT_IP'])) {  //check ip from share internet 
         $ip=$_SERVER['HTTP_CLIENT_IP']; 
       } elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  //to check ip is pass from proxy 
         $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
       } else { 
         $ip=$_SERVER['REMOTE_ADDR']; 
       } 
       return $ip; 
    }
获取ip地址后,访问www.ip138.com的提供的一个api取得所在城市
 
function ips($ip){ 
    $str=file_get_contents("http://www.ip138.com/ips.asp?ip={$ip}&action=2"); 
    preg_match("/

    (.*)/",$str,$m); 
        $pstr=str_replace("","",$m[1]); 
        $arr=explode("
  • ",$pstr); 
        array_shift($arr); 
        return $arr; 
    }
     2、通过腾讯提供的api获取ip及所在城市(注意:只能获取服务器的地址,方法获取浏览者的信息有些遗憾)。
    个人觉得这个函数非常好,可惜只呢获取服务器所在的信息。
     
    function get_ip_place(){   
    $ip=file_get_contents("http://fw.qq.com/ipaddress");   
    $ip=str_replace('"',' ',$ip);   
    $ip2=explode("(",$ip);   
    $a=substr($ip2[1],0,-2);   
    $b=explode(",",$a);   
    return $b;   
    }   
    $ip=get_ip_place();   
    print_r($ip);   
     
     基础知识补充:
    $_SERVER['HTTP_CLIENT_IP']:获取代理的ip(有可能存在,可伪造)
    $_SERVER['HTTP_X_FORWARDED_FOR']:用户是在哪个IP使用的代理(有可能存在,也可以伪造,什么的函数获取的真实ip地址就是用这个常用变量取得的)
    $_SERVER['REMOTE_NAME']:访问端(有可能是用户,有可能是代理的)IP

    作者“volley”

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478646.htmlTechArticle增强对知识的记忆最笨得方法也是最好的办法就是做笔记,从今天开始记录我的php工作、学习笔记。 1、获取浏览者的ip地址及所在城市的代...
Stellungnahme:
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
Vorheriger Artikel:数组的介绍_PHP教程Nächster Artikel:PHP字符串的连接_PHP教程