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