Position actuelle: Accueil> Derniers articles> Comment convertir facilement les adresses IP en valeurs entières à l'aide de la fonction IP2Long dans PHP?

Comment convertir facilement les adresses IP en valeurs entières à l'aide de la fonction IP2Long dans PHP?

gitbox 2025-06-08

Dans la programmation réseau, le traitement des adresses IP est une tâche très courante. Les adresses IP apparaissent généralement sous forme de chaîne, telles que "192.168.0.1", mais dans certains scénarios, nous devons les convertir en valeurs entières pour le stockage, la comparaison ou le calcul. PHP fournit une fonction intégrée très pratique IP2Long , qui peut facilement terminer cette conversion.


Introduction à la fonction ip2long

IP2Long est une fonction intégrée de PHP. Sa fonction est de convertir les adresses IPv4 décimales pointillées en formulaires entiers correspondants. L'entier converti peut être utilisé pour le stockage de la base de données, le jugement de portée ou d'autres opérations liées au réseau.

grammaire

 ip2long(string $ip): int|false
  • $ ip : l'adresse IPv4 sous la forme d'une chaîne à convertir.

  • La valeur de retour est l'entier correspondant, et si l'adresse IP n'est pas valide, elle renvoie false .


Exemple d'utilisation

Voici un exemple simple qui montre comment convertir une adresse IP en un entier utilisant IP2Long :

 <?php
$ip = "192.168.0.1";
$ipLong = ip2long($ip);

if ($ipLong !== false) {
    echo "IP adresse {$ip} L&#39;entier correspondant est:{$ipLong}";
} else {
    echo "Invalide IP adresse。";
}
?>

Résultat de sortie:

 IP adresse 192.168.0.1 L&#39;entier correspondant est:3232235521

Scénarios d'application pratiques d'IP2Long

  1. Optimisation du stockage de la base de données <br> La conversion d'adresses IP en entiers, puis les stocker en base de données peut réduire l'espace de stockage et accélérer les requêtes.

  2. Comparaison de la plage d'adresses IP <br> Par exemple, pour déterminer si une IP se situe dans un certain segment de réseau, elle peut être réalisée en comparant la taille entière.

  3. Filtrage sûr <br> Dans le pare-feu ou la liste de contrôle d'accès, utilisez IP entier pour le filtrage rapide.


Fonction inverse: long2ip

Si vous souhaitez convertir une adresse IP entière au format de chaîne, vous pouvez utiliser la fonction Long2IP de PHP.

Exemple:

 <?php
$ipLong = 3232235521;
$ip = long2ip($ipLong);

echo "Entier {$ipLong} Correspondant IP adresse是:{$ip}";
?>

Sortir:

 Entier 3232235521 Correspondant IP adresse是:192.168.0.1

Choses à noter

  • IP2Long ne prend en charge que les adresses IPv4 et ne prend pas en charge IPv6.

  • Le type entier retourné est un entier de 32 bits signé, qui peut avoir des valeurs négatives sur certains systèmes 32 bits.

  • Si le format d'adresse IP est incorrect, la fonction renvoie false et le jugement doit être porté lors de l'utilisation.


La compréhension et la maîtrise des fonctions IP2Long peuvent vous rendre plus efficace et concise lors de la gestion des adresses IP. En combinant les besoins de la base de données et de la programmation réseau, cette petite fonction deviendra un bon aide dans votre développement.