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


Posted in PHP onNovember 14, 2016

本文实例讲述了THinkPHP获取客户端IP与IP地址查询的方法。分享给大家供大家参考,具体如下:

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(); 其实都是错误的,大家要注意了。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP程序员编程注意事项
Apr 10 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
php运行时动态创建函数的方法
Mar 16 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
Mar 21 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
PHP从尾到头打印链表实例讲解
Sep 27 PHP
PHP7 windows支持
Mar 09 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 #PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 #PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 #PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 #PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 #PHP
Symfony2创建基于域名的路由相关示例
Nov 14 #PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 #PHP
You might like
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
2018/09/14 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
python开发之thread实现布朗运动的方法
2015/11/11 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
python进行两个表格对比的方法
2018/06/27 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
python实现图像拼接
2020/03/05 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
师范生自荐信范文
2013/10/06 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
机关作风建设工作总结
2014/10/23 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
Java实现二分搜索树的示例代码
2022/03/17 Java/Android