Heim > Artikel > Backend-Entwicklung > So berechnen Sie die IP-Adressmaske in PHP
In diesem Artikel wird hauptsächlich die Methode der IP-Adressmaskierung in PHP vorgestellt, die Kenntnisse im Zusammenhang mit PHP-Strings und Netzwerkoperationen beinhaltet. Ich hoffe, es hilft allen.
Die Details lauten wie folgt:
IP-Analyse:
function ip_parse($ip_str) { $mark_len = 32; if (strpos($ip_str, "/") > 0) { list($ip_str, $mark_len) = explode("/", $ip_str); } $ip = ip2long($ip_str); $mark = 0xFFFFFFFF << (32 - $mark_len) & 0xFFFFFFFF; $ip_start = $ip & $mark; $ip_end = $ip | (~$mark) & 0xFFFFFFFF; return array($ip, $mark, $ip_start, $ip_end); } //演示: list($ip, $mark, $ip_start, $ip_end) = ip_parse("192.168.1.12/24"); echo "IP地址 : ", long2ip($ip), "\n"; echo "子网掩码: ", long2ip($mark), "\n"; echo "IP段开始: ", long2ip($ip_start), "\n"; echo "IP段结束: ", long2ip($ip_end), "\n";
Ergebnis:
IP地址 : 192.168.1.12 子网掩码: 255.255.255.0 IP段开始: 192.168.1.0 IP段结束: 192.168.1.255
Ist die IP in der IP-Segmentierung:
function ip_in($ip, $ip_str) { $mark_len = 32; if (strpos($ip_str, "/") > 0) { list($ip_str, $mark_len) = explode("/", $ip_str); } $right_len = 32 - $mark_len; return ip2long($ip) >> $right_len == ip2long($ip_str) >> $right_len; } //演示: var_dump(ip_in("192.168.1.1", "192.168.1.0/24"));
Verwandte Empfehlungen:
php berechnet die Zeit zwischen zwei Zeitstempeln Beispiel
PHP Seitenausführungszeit berechnen
php Berechnen Sie den Abstand zwischen zwei geografischen Koordinaten
Das obige ist der detaillierte Inhalt vonSo berechnen Sie die IP-Adressmaske in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!