您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

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

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 20:11 点击:

增强对知识的记忆最笨得方法也是最好的办法就是做笔记,从今天开始记录我的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("asp?ip={$ip}&action=2">http://www.ip138.com/ips.asp?ip={$ip}&action=2"); 
    preg_match("/<ul class=\"ul1\">(.*)<\/ul>/",$str,$m); 
    $pstr=str_replace("</li>","",$m[1]); 
    $arr=explode("<li>",$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”

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • PHP测试
      • 十天学会php之第六天
      • 几种显示数据的方法的比较
      • 使用xmlhttp为网站增加域名查询功能
      • PHP+MYSQL+Javascript数据库查询结果的动态显示
      • 查找数组中指定键名的值
      • 用redis实现跨服务器session
      • 用新浪微博接口发送图片微博失败的原因
      • smarty局部缓存技术[源码分析]
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1