THinkPHP获取客户端IP与IP地址查询的方法
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关推荐
-
PHP基于新浪IP库获取IP详细地址的方法
本文实例讲述了PHP基于新浪IP库获取IP详细地址的方法.分享给大家供大家参考,具体如下: <?php class Tool{ /** * 获取IP的归属地( 新浪IP库 ) * * @param $ip String IP地址:112.65.102.16 * @return Array */ static public function getIpCity($ip) { $ip = preg_replace("/\s/","",preg_replace(&q
-
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
文件锁 全名叫 advisory file lock, 书中有提及. 这类锁比较常见,例如 mysql, php-fpm 启动之后都会有一个pid文件记录了进程id,这个文件就是文件锁. 这个锁可以防止重复运行一个进程,例如在使用crontab时,限定每一分钟执行一个任务,但这个进程运行时间可能超过一分钟,如果不用进程锁解决冲突的话两个进程一起执行就会有问题. 使用PID文件锁还有一个好处,方便进程向自己发停止或者重启信号.例如重启php-fpm的命令为 kill -USR2 `cat /usr
-
php正则提取html图片(img)src地址与任意属性的方法
简单版: <?php header("Content-Type: text/html;charset=utf-8"); $str = '<div class="ui-block-a" align="center"> <a href="online-39.html" rel="external nofollow" ><img class="lazy" w
-
php读取qqwry.dat ip地址定位文件的类实例代码
实例如下: <?php // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- cla
-
PHP基于闭包思想实现的BT(torrent)文件解析工具实例详解
本文实例讲述了PHP基于闭包思想实现的torrent文件解析工具.分享给大家供大家参考,具体如下: PHP对静态词法域的支持有点奇怪,内部匿名函数必须在参数列表后面加上use关键字,显式的说明想要使用哪些外层函数的局部变量. function count_down($count) { return $func = function() use($count,$func) { if(--$count > 0) $func(); echo "wow\n"; }; } $foo = c
-
php进行ip地址掩码运算处理的方法
本文实例讲述了php进行ip地址掩码运算处理的方法.分享给大家供大家参考,具体如下: ip解析: function ip_parse($ip_str) { $mark_len = 32; if (strpos($ip_str, "/") > 0) { list($ip_str, $mark_len) = explode("/", $ip_str); } $ip = ip2long($ip_str); $mark = 0xFFFFFFFF << (3
-
PHP批量获取网页中所有固定种子链接的方法
本文实例讲述了PHP批量获取网页中所有固定种子链接的方法.分享给大家供大家参考,具体如下: 经常的下载链接比较多的时候,就像一次性将所有的链接添加到迅雷或者电炉,但是没有在这种选项,怎么办,咱是PHPer啊,这事儿难不到咱 且看代码,当然要换成你的,要根据具体情况来做修改. <?php header("content-type:text/html;charset=utf8"); $str = file_get_contents('./ShowFile.asp'); $str1 =
-
PHP文件锁定写入实例解析
本文以实例讲述了PHP文件写入方法,以应对多线程写入,具体代码如下: function file_write($file_name, $text, $mode='a', $timeout=30){ $handle = fopen($file_name, $mode); while($timeout>0){ if ( flock($handle, LOCK_EX) ) { // 排它性的锁定 $timeout--; sleep(1); } } if ( $timeout > 0 ){ fwrit
-
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
本文实例讲述了PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法.分享给大家供大家参考,具体如下: 很多用户不知道如何复制flash地址,只能在程序中帮他们替换了: <?php /** * 支持优酷.土豆.腾讯视频html到swf转换 */ function convert_html_to_swf($url = '') { if(!is_string($url) || empty($url)) return ; if(strpos($url, 'swf')) return
-
php读取二进制流(C语言结构体struct数据文件)的深入解析
尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持.不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转: 复制代码 代码如下: string pack ( string $format [, mixed $args [, mixed $...]] ) //Pack given arguments into binary string according to format. array unp
-
php读取torrent种子文件内容的方法(测试可用)
本文实例讲述了php读取torrent种子文件内容的方法.分享给大家供大家参考,具体如下: <?php /** * Class xBEncoder * Author: Angus.Fenying * Version: 0.1 * Date: 2014-06-03 * * This class helps stringify or parse BENC * codes. * * All Copyrights 2007 - 2014 Fenying Studio Reserved. */ class
随机推荐
- 详解基于webpack搭建react运行环境
- angularjs之$timeout指令详解
- vuejs响应用户事件(如点击事件)
- VUE元素的隐藏和显示(v-show指令)
- PHP中捕获超时事件的方法实例
- php堆排序实现原理与应用方法
- python实现矩阵乘法的方法
- C++栈(stack)的模板类实现代码
- JavaScript中的toLocaleDateString()方法使用简介
- mysql 5.7以上版本下载及安装图文教程
- php5.3 废弃函数小结
- thinkphp3.x中变量的获取和过滤方法详解
- php单例模式实现方法分析
- Javaweb开发环境Myeclipse6.5 JDK1.6 Tomcat6.0 SVN1.8配置教程
- SQL 合并多行记录的相同字段值
- 利用javascript解决图片缩放及其优化的代码
- JavaScript Date对象使用总结
- Javascript实现Array和String互转换的方法
- 左右图片循环滚动停顿一下后继续
- 由Apache 500错误引出的临时文件问题分析解决