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中的Class的几点个人看法
Oct 09 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
php实现邮件发送并带有附件
Jan 24 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
CodeIgniter针对数据库的连接、配置及使用方法
Mar 03 PHP
PHP反射API示例分享
Oct 08 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 PHP
php session_decode函数用法讲解
May 26 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实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
js的event详解。
2006/09/06 Javascript
filemanage功能中用到的common.js
2007/04/08 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
python学习数据结构实例代码
2015/05/11 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python利用微信公众号实现报警功能
2018/06/10 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
python基于win32api实现键盘输入
2020/12/09 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
财务管理个人自荐书范文
2013/11/24 职场文书
《乡愁》教学反思
2014/02/18 职场文书
高中教师考核方案
2014/05/18 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
老公出轨后的保证书
2015/05/08 职场文书
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python