本文转载自: http://blog.chinaunix.net/uid-10697776-id-2935481.html
如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如
echoip2long("10.2.1.3");
?>
我们将得到
167903491
这是如何计算的,目前我知道有两个算法。其一
functionip2int($ip){
//我们先把ip分为四段,$ip1,$ip2,$ip3,$ip4
list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);
//然后第一段乘以256的三次方,第二段乘以256的平方,第三段乘以256
//这即是我们得到的值
return$ip1*pow(256,3)+$ip2*pow(256,2)+$ip3*256+$ip4;
}
?>
其二,用位运算
functionip2int($ip){
list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);
return($ip1<<24)|($ip2<<16)|($ip3<<8)|($ip4);
}
?>
我们会发现,有些ip转化成整数后,是负的,这是因为得到的结果是有符号整型,最大值是2147483647.要把它转化为无符号的,可以用
sprintf("%u",ip2long($ip);
就能转换为正整数。而且得到的结果用long2ip也可以正常转换回原来的ip地址。也可以用ip2long来验证一个ip是否是有效的,如
functionchk_ip($ip){
if(ip2long($ip)=="-1"){
returnfalse;
}
returntrue;
}
//应用
var_export(chk_ip("10.111.149.42"));
var_export(chk_ip("10.111.256.42"));
?>
将输出true和false
相关推荐
6. **程序接口**:IP库转换工具可能提供API接口,允许开发者在自己的程序中直接调用,实现动态更新或转换IP库,增强应用的功能。 7. **版权与更新**:纯真IP库作为一个商业产品,使用时需注意版权问题,遵循其授权...
实现PHP的IP转国家功能,可以分为以下几个步骤: 1. **安装库**:首先需要下载GeoLite2数据库文件,通常是.mmdb格式。在PHP中,可以使用如`geoip2`或`maxmind-db`这样的扩展来读取这类数据库。 2. **加载数据库**...
用于将IP地址范围转换成描述字符串,常用于IP位置查询,城市查询,ISP查询等。 纯 php 代码完成,不依赖任何扩展,采用二分查找定位IP区间,速度很快。 文本词典可兼容纯真IP数据库,提供程序脚本转换文本文件至本...
在PHP编程语言中,中文繁简转换是一种常见的需求,特别是在处理多语言网站或者与两岸三地用户交流时。本文将详细解析如何使用PHP编写一个中文繁简转换类,并结合提供的"php繁简转换.php"文件,探讨其核心知识点。 ...
php_wms2tile - 轻松地将 wms 服务转换为滑动地图的瓷砖现场演示: ČÚZK: ://osm.zby.cz/tiles_cuzk.php/17/70788/44404.test ÚHUL: ://osm.zby.cz/tiles_uhul.php/14/8848/5550.test iD OSM编辑器自定义背景...
在IT领域,网络编程是不可或缺的一部分,而IP地址与数字之间的转换则是网络编程中的常见操作。本文将深入探讨如何使用PHP实现IP地址与数字(通常称为整型或长整型)之间的相互转换,同时参考提供的博客链接:[链接已...
在IT行业中,编码转换是一个常见的需求,特别是在处理中文字符时。GBK和UTF-8是两种广泛使用的字符编码标准,它们各自有不同的特点和适用场景。PHP作为服务器端脚本语言,提供了多种方法来处理编码转换问题,包括...
本文将详细介绍如何在PHP中利用纯真数据IP库(Zabbix)来实现IP到物理地址的转换,特别关注QQIP地址的处理。 首先,纯真IP数据库(通常称为“Zabbix”或“纯真IP库”)是一个包含大量IP地址与地理位置对应关系的...
QQ IP数据库转换成Access的MDB数据库工具是一种实用的软件,主要功能是将QQ提供的IP数据库文件转换为Microsoft Access(.mdb)格式,便于在Access环境中进行数据分析和管理。这种工具通常用于网络管理和地理定位,...
根据IP地址转换省份城市地址,做了utf8转换,可以进行截取,比如身份可以只取前面两个字,个别的情况例外(例如:黑龙江,南海诸岛),代码亲测可以用,没有后门,没有木马,此分享是在PHP的基础上进行的案例,没有...
PHP中的IP转换整形(ip2long)是一个常用的函数,用于将传统的IPv4地址(由四个十进制数字组成,每个数字之间用点分隔)转换成一个长整型数值。这种转换方法在很多网络编程和数据库操作中非常有用,例如在存储IP地址...
2. **IP地址转换**:IP地址在数据库中以十进制形式存储,而网络上常见的IP地址是点分十进制表示。PHP的`ip2long()`函数可以将点分十进制IP转换为十进制,便于与数据库中的数据进行比较。 3. **区间查找**:由于IP...
通过IP地址转中国城市(webservice)版,您可以获得:最新IP地址转中国城市数据库数据,它包含319356条国内IP,字段:IP地址、省份、城市。内附调用方法(支持Asp,.NET,C#,PHP等开发语言)。可以根据指定的IP返回 ...
- 在`index.php`中,可能会有一个函数或方法,如`isIpInChina($ip)`,它首先使用`ip2long()`将IP地址转换为数字,然后调用`iplimit.class.php`中的方法查询`ipdata.db`,最后根据查询结果判断IP地址是否属于中国。...
这里提到的`iplocaion.class.php`和`qqwry`可能是一个IP库,如QQWry.Dat,这是一个包含了全球IP地址范围及其对应国家、城市信息的数据文件。`iplocaion.class.php`可能是处理这个数据文件的PHP类,用于读取和解析IP...
在IT行业中,GeoIP是一项非常实用的技术,它主要用于识别...为了使用这套工具,你需要将IP地址传递给`ip_2_country.php`,它会返回该IP的国家信息,如果需要中文名称,还可以结合`country_code_2_zhname.txt`进行转换。
Java_IPv4转换_ip2long_long2IP,与php/java/javascript互相兼容
**PHP接口API文档转换SDK详解** 在现代软件开发中,API(Application Programming Interface)文档扮演着至关重要的角色,它为开发者提供了与系统交互的详细指南。API文档转换SDK,特别是PHP版本,使得开发者能够更...
首先我们要先了解一下IP地址转换为整型(严格来说应该说是长整型)的原理~ 【转换原理】:假设IP为:w.x.y.z,则IP地址转为整型数字的计算公式为:intIP = 256*256*256*w + 256*256*x + 256*y...‘| describtion: 将IP转