它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

THinkPHP 获取客户端IP 与IP地址查询

Posted on 2012-11-07 15:49  陈达辉  阅读(720)  评论(0编辑  收藏  举报

TP 中获取客户端IP地址的系统公共函数是:function get_client_ip()。返回值就是IP地址。

查询IP地址所在国家与地区的类文件是IpLocation.class.php,位于ThinkPHP\Lib\ORG\Net目录下。类名是IpLocation,方法是
public function getlocation($ip=”);//省略时查询客户端IP所在地址。返回的是一个数组。没有查到的话返回值为空;查到的话,数组有值为:
$location['ip'];
$location['country'];
$location['area'];
查询客户端IP及其对应地区的具体应用过程就是:
import(‘ORG.Net.IpLocation’);
$ip=new Iplocation();//新建一个IP查询对象
$location=$ip->getlocation();//省略时表示查询客户端IP.$location可以直接输出使用,键名如上。
要是想查询特定IP或域名所在地区,过程是:
import(‘ORG.Net.IpLocation’);
$ip=new Iplocation();//新建一个IP查询对象
$ipname=’202.38.68.68′;//或者可以用域名,如$ipname=’www.64hi.com’;
$location=$ip->getlocation($ipname);//$location可以直接输出使用,键名如上。
要是只要查询客户端IP地址,可以直接用系统函数,如:
$ip=  $ip->get_client_ip();  //很多网站都是 $ip=  get_client_ip(); 其实都是错误的,大家要注意了。