PHP中将ip地址转成十进制数的两种实用方法
PHP中如何将ip地址转成十进制数呢?现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的。那么PHP中如何将ip地址转成十进制数就是我们比较头疼的事情了,下面两种方法是我整理处理来相对比较简单的IP地址转成十进制数的方法。希望能对大家有所帮助。
方法一:
代码如下:
public function ipToLong(){
$ip = $_SERVER['REMOTE_ADDR'];
$ip = explode('.', $ip);
$ip = array_reverse($ip);//数组反转
$r = 0;
for($i=0,$j=count($ip); $i<$j; $i++){
$r += $ip[$i] * pow(256, $i);
}
$r = sprintf("%u", $r);
echo $r;
}
public function ipToLong(){
$ip = $_SERVER['REMOTE_ADDR'];
$ip = explode('.',$ip);
$r = ($ip[0] << 24) | ($ip[1] << 16) | ($ip[2] << 8) | $ip[3];
if($r < 0) $r += 4294967296;
echo $r ;
}
两个结果在本地服务器中的结果都是3232235877,运用的ip是192.168.1.101。我们用ping 192.168.1.101 和 ping 3232235877来进行检测,看是否一样。
相关推荐
-
java实现ip地址与十进制数相互转换
先看实例 代码如下 复制代码 代码如下: classip { privatestaticlongiptolong(stringstrip) //将127.0.0.1形式的ip地址转换成10进制整数,这里没有进行任何错误处理 { intj=0; inti=0; long[]ip=newlong[4]; intposition1=strip.indexof("."); intposition2=strip.indexof(".",position1+1); intpos
-
PowerShell把IP地址转换成二进制的方法
IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位.8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间.有的时候,比如为了换算子网掩码,我们需要将IP地址还原成二进制串的形式,如:11000000101010000000110000100001.今天小编看到一个例子就是来完成这个操作的. 代码如下: 复制代码 代码如下: $ipV4 = '192.168.12.33' -join ($ipV4.Split('.') | ForEach-Obje
-
纯真IP数据库的应用 IP地址转化成十进制
原来是需要把IP转成十进制 复制代码 代码如下: $ip = $_SERVER['REMOTE_ADDR']; echo '你的IP:'.$ip.'<br />'; $ip_arr = explode(".",$ip); $ip = 0; foreach($ip_arr as $i=>$s){ $ip += $s*pow(256,3-$i); } echo '转十进制值:'.$ip.'<br />'; //结果你的IP:127.0.0.1 转十进制值:21
-
分享一个可以生成各种进制格式IP的小工具实例代码
前言 在开始本文之前,先来介绍一下相关内容,大家都知道一些防护SSRF漏洞的代码一般使用正则来判断访问IP是否为内部IP,比如下面这段网上比较常见的正则: if re.match(r"^192\.168(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){2}$", ip_address) or \ re.match(r"^172\.([1][6-9]|[2]\d|3[01])(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d
-
PHP中将ip地址转成十进制数的两种实用方法
PHP中如何将ip地址转成十进制数呢?现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的.那么PHP中如何将ip地址转成十进制数就是我们比较头疼的事情了,下面两种方法是我整理处理来相对比较简单的IP地址转成十进制数的方法.希望能对大家有所帮助. 方法一: 复制代码 代码如下: public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array
-
python将ip地址转换成整数的方法
本文实例讲述了python将ip地址转换成整数的方法.分享给大家供大家参考.具体分析如下: 有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法. import socket, struct def ip2long(ip): """ Convert an IP string to long """
-
JSP 获取用户的真实IP两种实现方法详解
JSP 获取用户的真实IP两种实现方法详解 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿
-
Java 中二进制转换成十六进制的两种实现方法
Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static String toHex(byte[] result) { StringBuffer sb = new StringBuffer(result.length * 2); for (int i = 0; i < result.length; i++) { sb.append(Character.forDigi
-
C和MFC巧妙获取外网IP的两种实现方法
本文以C与MFC的两个实例详述了取外网IP的两种实现方法,具体实现代码如下: MFC语言实现获取外网IP: # include <windows.h> # include <urlmon.h> # pragma comment(lib,"URLMON.lib") void main() { URLDownloadToFile(NULL,"http://www.ip138.com/ip2city.asp","ip.txt",
-
iOS开发之image图片压缩及压缩成指定大小的两种方法
///压缩图片 + (NSData *)imageCompressToData:(UIImage *)image{ NSData *data=UIImageJPEGRepresentation(image, 1.0); if (data.length>300*1024) { if (data.length>1024*1024) {//1M以及以上 data=UIImageJPEGRepresentation(image, 0.1); }else if (data.length>512*1
-
详解eclipse将项目打包成jar文件的两种方法及问题解决方法
第一种:利用eclipse中自带的export功能 第一种方法分两种情况先来看第一种情况:没有引用外部jar的项目打包 步骤一:右键点击项目选择导出(export),选择java>jar文件(不是选择可运行jar文件) 步骤二:选择你要导出的项目以及文件,指定文件导出路径.连续点击两个下一步后到第四步. 步骤三:选择主类. 按照以上步骤即可完成对一个不引用外部jar项目的打包. 第二种情况:没有引用外部jar的项目打包 当我们引用了外部jar后,使用eclipse自带的export打包略显繁琐.
-
php求斐波那契数的两种实现方式【递归与递推】
本文实例讲述了php求斐波那契数的两种实现方式.分享给大家供大家参考,具体如下: 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相
随机推荐
- 用vbscript实现从文本文件中删除所有重复行的代码
- 不要用强制方法杀掉python线程
- js使用i18n实现页面国际化的方法
- Asp.NET MVC中使用SignalR实现推送功能
- 解析PHP中empty is_null和isset的测试
- WordPress后台中实现图片上传功能的实例讲解
- javascript 页面划词搜索JS
- BootStrap Fileinput的使用教程
- 几种响应式文字详解
- XML创建可排序、分页的数据显示页面
- 为JS扩展Array.prototype.indexOf引发的问题及解决办法
- VBS教程:方法-OpenAsTextStream 方法
- 使用js+jquery实现无限极联动
- jQuery插件Tooltipster实现漂亮的工具提示
- js快速与任意QQ号码建立临时对话
- 简单谈谈axios中的get,post方法
- Apache 并发优化设置方法
- spring中ioc是什么
- IntelliJ IDEA设置代码的快捷编辑模板Live Templates
- 使用Python做垃圾分类的原理及实例代码