Maison >développement back-end >tutoriel php >Comment calculer le masque d'adresse IP en php
Cet article présente principalement la méthode d'opération de masquage d'adresse IP en PHP, impliquant des compétences liées aux chaînes PHP et au fonctionnement du réseau. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
Les détails sont les suivants :
Analyse IP :
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";
Résultat :
IP地址 : 192.168.1.12 子网掩码: 255.255.255.0 IP段开始: 192.168.1.0 IP段结束: 192.168.1.255
L'adresse IP est-elle dans la segmentation IP :
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"));
Recommandations associées :
php calcule le temps entre deux horodatages Exemple
PHP Calculer le temps d'exécution de la page
php Calculer la distance entre deux coordonnées géographiques
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!