4
我正在查找一个函数来确定给定的IPv4地址是否在给定的网络中。检查IP地址是否在网络中
它将类似于this;然而,如果没有必要,我不想安装一个完整的框架或重新发明轮子。
的想法是类似以下内容:
function IsInNetwork($givenIP, $networkIP, $netmask) {
// ???
}
$valid = IsInNetwork("10.0.9.35", "10.0.8.0", "255.255.254.0");
- 编辑 -
凭借丰富的亚当斯的帮助,他指出我在正确的方向,并与下面上来:
function IsInNetwork2($givenIP, $networkIP, $netmask)
{
$ipaddr = ip2long($givenIP);
$netip = ip2long($networkIP);
$netmask = (ip2long($netmask) * -1) + $netip;
if ($ipaddr >= $netip && $ipaddr <= $netmask){
return true;
} else {
return false;
}
}
谢谢,这表明我正确的方向。我不得不改变它,但它的工作原理。 – jinanwow 2011-12-21 19:28:54
你好,$ nework值在哪里? – MCurbelo 2017-12-13 17:30:55