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来进行检测,看是否一样。

  可能有些朋友不知道mysql与php中都提供了IP转换十进制数函数

  MySQL 提供了INET_ATON 和 INET_NTOA 两个函数来进行地址和整数之间的转换。

  1. IP 由点分格式,转换为数字格式。

  代码如下

  mysql> select inet_aton('127.0.0.1');

  +------------------------+

  | inet_aton('127.0.0.1') |

  +------------------------+

  | 2130706433 |

  +------------------------+

  1 row in set (0.00 sec)

  2. IP 由数字格式转换为点分格式。

  代码如下

  mysql> select inet_ntoa(2130706433);

  +-----------------------+

  | inet_ntoa(2130706433) |

  +-----------------------+

  | 127.0.0.1 |

  +-----------------------+

  1 row in set (0.00 sec)

  php可直接使用ip2long函数

  代码如下

  echo ip2long('192.168.1.38');

  输出:3232235814

时间: 2025-01-21 06:33:21

PHP中如何将ip地址转成十进制数的相关文章

PHP中将ip地址转成十进制数的两种实用方法_php实例

PHP中如何将ip地址转成十进制数呢?现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的.那么PHP中如何将ip地址转成十进制数就是我们比较头疼的事情了,下面两种方法是我整理处理来相对比较简单的IP地址转成十进制数的方法.希望能对大家有所帮助. 方法一: 复制代码 代码如下: public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array

ip地址转换成十进制实现程序

,以"61.175.232.30"这个IP地址为例,IP地址转换成数字串方法如下:先将"61.175.232.30"转换为十六进制"3d.af.e8.1e",然后去掉小数点后,变为"3dafe81e",最后将这个十六进制数转换为十进制"1034938398",那么"61.175.232.30"就变为"1034938398"了. 方法一:  代码如下 复制代码 publ

纯真IP数据库的应用 IP地址转化成十进制_php实例

原来是需要把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地址

客户在二个不同的iSeries之间利用IASP实现相互备份,客户端通过Telnet连接到其中的主生产机或备机,如果一旦被连接的系统失败时,客户能否不需修改客户端会话参数(主机的IP地址),用同一个telnet会话无缝连接到另一系统上? 工作原理: 首先将SYSA 与 SYSB二个系统配置为集群环境,其中IASP1可以在二个系统中切换.虚拟IP为 19.19.19.19,这地址所属的网络地址范围不属于当前网络. 这虚拟IP地址是包含IASP1的集群资源组(cluster resource grou

python将ip地址转换成整数的方法

 这篇文章主要介绍了python将ip地址转换成整数的方法,涉及Python针对IP地址的转换技巧,需要的朋友可以参考下     本文实例讲述了python将ip地址转换成整数的方法.分享给大家供大家参考.具体分析如下: 有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法. ? 1 2 3 4 5 6 7 import socket, struc

如何快速获取局域网中电脑的IP地址

  局域网中有很多电脑,为了规范局域网中的所有电脑IP地址,需要查看各台电脑的IP地址.而在"网上邻居"中,只能查看到电脑的名称,如何快速获取局域网中电脑的IP地址呢? 获取局域网中很多电脑的IP地址,可以通过工具软件来获取.比如,可以使用NetSuper之类的软件.在使用软件时,首先要保证局域网中的所有电脑都处在开机状态,然后运行NetSuper软件,在主窗口中,单击"搜索计算机".这时就可以在主窗口左侧的计算机列表中看到计算的信息,包括计算机名.IP地址.计算机

android真机与电脑塔同时连接路由器,请问如何将手机和电脑的IP地址设成同一网段内?

问题描述 android真机与电脑塔同时连接路由器,请问如何将手机和电脑的IP地址设成同一网段内? android真机与电脑塔同时连接路由器,请问如何将手机和电脑的IP地址设成同一网段内? 本人小白,请大神指点.给个网址也行. ipconfig 的结果如下: 解决方案 手机连接自动设为 192.168.16.2 电脑连接自动设为 192.168.1.12 无线路由器为TP-link 解决方案二: 路由器配置下dhcp,电脑和手机自动获取ip就可以了. 解决方案三:

socket-Windows Socket网络编程中使用的IP地址是公网IP还是内网IP?

问题描述 Windows Socket网络编程中使用的IP地址是公网IP还是内网IP? 因为我按照书上的代码写了一个程序,就是connect什么什么的,我写的MFC做客户端,网络调试助手做服务器端,然后从网络调试助手向MFC程序发送信息.当网络调试助手和MFC程序在一台电脑上时连接是可以成功的,但是在两台电脑上时就不成功了,调试的时候就是connect半天没反应,然后就失败了.IP地址我都填对的.(如果是两个网络调试助手在两台电脑上是能成功连接的,但是我找不到网络调试助手的源代码) 有谁知道是什

python将ip地址转换成整数的方法_python

本文实例讲述了python将ip地址转换成整数的方法.分享给大家供大家参考.具体分析如下: 有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法. import socket, struct def ip2long(ip): """ Convert an IP string to long """