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正则提取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基于新浪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基于闭包思想实现的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批量获取网页中所有固定种子链接的方法
本文实例讲述了PHP批量获取网页中所有固定种子链接的方法.分享给大家供大家参考,具体如下: 经常的下载链接比较多的时候,就像一次性将所有的链接添加到迅雷或者电炉,但是没有在这种选项,怎么办,咱是PHPer啊,这事儿难不到咱 且看代码,当然要换成你的,要根据具体情况来做修改. <?php header("content-type:text/html;charset=utf8"); $str = file_get_contents('./ShowFile.asp'); $str1 =
-
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实现将优酷土豆腾讯视频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读取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
-
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文件写入方法,以应对多线程写入,具体代码如下: 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读取qqwry.dat ip地址定位文件的类实例代码
实例如下: <?php // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- cla
随机推荐
- Mac中Python 3环境下安装scrapy的方法教程
- 写批处理必备的一些命令参数使用技巧
- SQLServer2005 XML数据操作代码
- node.js中使用node-schedule实现定时任务实例
- VBS教程:VBscript语句-Property Get 语句
- javascript 判断当前浏览器版本并判断ie版本
- php删除数组指定元素实现代码
- Yii2框架中使用PHPExcel导出Excel文件的示例
- Javascript中正则表达式的全局匹配模式分析
- Python常用列表数据结构小结
- 以前写的一个分页存储过程,刚才不小心翻出来的
- C++实现将数组中的值反转
- javascript中arguments,callee,caller详解
- ASP.NET中JQuery+AJAX调用后台
- DOS下测试通讯的常用命令分享(dir>prn)
- jQuery避免$符和其他JS库冲突的方法对比
- jQuery增加、删除及修改select option的方法
- JavaScript实现的链表数据结构实例
- 详解nginx服务器中的安全配置
- 一个简单的PHP验证码实现代码
