如何减少IPv6地址?

时间:2018-10-23 13:02:54

标签: php ip-address

减少一个IPv6地址似乎很简单,这样我就可以依次获得一个先前的地址,但是我似乎无法弄清楚。

我已经找到一个代码示例来增加一个IPv6地址(实际上它也适用于IPv4),但是递减?无论我如何修改它,它都行不通,而且我对IPv6的了解不足,无法真正自己实现它。

这是我发现的可以递增的示例:

// Takes an IPv4/IPv6 address in string format, and increments it by given 
function incrementIp($ip, $increment)
{
  $addr = inet_pton ( $ip );

  for ( $i = strlen ( $addr ) - 1; $increment > 0 && $i >= 0; --$i )
  {
    $val = ord($addr[$i]) + $increment;
    $increment = $val / 256;
    $addr[$i] = chr($val % 256);
  }

  return inet_ntop ( $addr );
}

非常感谢您的帮助:)

0 个答案:

没有答案