本文转载自: 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
相关推荐
纯真IP库转换工具转换为其他IP库或者TXT文本
把ip地址转换成集体国家 IP to country PHP代码类
PHP 使用纯真数据IP库转换物理IP,QQIP地址
用于将IP地址范围转换成描述字符串,常用于IP位置查询,城市查询,ISP查询等。 纯 php 代码完成,不依赖任何扩展,采用二分查找定位IP区间,速度很快。 文本词典可兼容纯真IP数据库,提供程序脚本转换文本文件至本...
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编辑器自定义背景...
根据IP地址转换省份城市地址,做了utf8转换,可以进行截取,比如身份可以只取前面两个字,个别的情况例外(例如:黑龙江,南海诸岛),代码亲测可以用,没有后门,没有木马,此分享是在PHP的基础上进行的案例,没有...
通过IP地址转中国城市(webservice)版,您可以获得:最新IP地址转中国城市数据库数据,它包含319356条国内IP,字段:IP地址、省份、城市。内附调用方法(支持Asp,.NET,C#,PHP等开发语言)。可以根据指定的IP返回 ...
php 编码相互转换类(gbk转换utf8). 解决iconv无法完美转换的问题。 非常不错啊
如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如复制代码 代码如下:<?phpecho ip2long(“10.2.1.3”);?>我们将得到167903491这是如何计算的,目前我知道有两个算法。...
首先我们要先了解一下IP地址转换为整型(严格来说应该说是长整型)的原理~ 【转换原理】:假设IP为:w.x.y.z,则IP地址转为整型数字的计算公式为:intIP = 256*256*256*w + 256*256*x + 256*y...‘| describtion: 将IP转
(int)、(integer):转换成整形 (float)、(double)、(real):转换成浮点型 (string):转换成字符串 (bool)、(boolean):转换成布尔类型 (array):转换成数组 (object):转换成对象 PHP数据...
php编写的中文繁简转换类 ,代码最后写了一小段调用实例
1.(int)、(integer):转换成整形 2.(float)、(double)、(real):转换成浮点型 3.(string):转换成字符串 4.(bool)、(boolean):转换成布尔类型 5.(array):转换成数组 6.(object):转换成对象 ...
Pinyin.class.php类文件可以将大多数汉字转换成汉语拼音,当然也有个别生僻字不能转换,如果你想转换所有的汉字拼音的话,可能需要再配合一个汉字字库来实现,使用该类文件就基本能满足你的项目需求了。用法: ...
因为以前的php文件都是gb2312,如果文件数目庞大的话一一改变会很困难。先介绍个方法: 用EditPlus可以批量修改打开的文件编码,Document-...使用EditPlus转换编码之后,再运行另一个函数,可以把文件全部还原回去。
Java_IPv4转换_ip2long_long2IP,与php/java/javascript互相兼容
php汉字转换拼音程序php汉字转换拼音程序php汉字转换拼音程序php汉字转换拼音程序php汉字转换拼音程序vvv
php中文转换成拼音apiphp中文转换成拼音apiphp中文转换成拼音apiphp中文转换成拼音apiphp中文转换成拼音apiphp中文转换成拼音api