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调用三种数据库的方法(2)
Oct 09 PHP
php MsSql server时遇到的中文编码问题
Jun 11 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
Mar 14 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP中递归的实现实例详解
Nov 14 PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 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
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
原生JS轮播图插件
2017/02/09 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
python脚本实现查找webshell的方法
2014/07/31 Python
Python CSV模块使用实例
2015/04/09 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
外语系毕业生自荐信范文
2013/12/16 职场文书
土木工程求职信
2014/05/29 职场文书
2014年技术员工作总结
2014/11/18 职场文书
简历自荐信范文
2015/03/09 职场文书
培训班通知
2015/04/25 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
一文读懂navicat for mysql基础知识
2021/05/31 MySQL
Nginx安装配置详解
2022/06/25 Servers
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python