ip2long
(PHP 4, PHP 5)
ip2long — Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale
Description
$ip_address
)Génère une adresse IPv4 à partir de son équivalent numérique.
ip2long() fonctionne également avec des adresses IP incomplètes. Lisez » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm pour plus d'informations.
Liste de paramètres
-
ip_address
-
Une adresse au format standard.
Valeurs de retour
Retourne une adresse IPv4, ou FALSE
si ip_address
est invalide.
Historique
Version | Description |
---|---|
5.2.10 | Avant cette version, ip2long() retourne parfois un nombre valide même si la valeur passée n'est pas une adresse pointée (IPv4). |
5.0.0 | Avant cette version, ip2long() retournait -1 en cas d'échec. |
Exemples
Exemple #1 Exemple avec ip2long()
<?php $ip = gethostbyname('www.example.com'); $out = "Les URLS suivantes sont équivalentes :<br />\n"; $out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n"; echo $out; ?>
Exemple #2 Affichage d'une adresse IP
<?php $ip = gethostbyname('www.example.com'); $long = ip2long($ip); if ($long == -1 || $long === FALSE) { echo 'IP invalide, merci d\'essayer encore'; } else { echo $ip . "\n"; // 192.0.34.166 echo $long . "\n"; // -1073732954 printf("%u\n", ip2long($ip)); // 3221234342 } ?>
Notes
Note:
Comme les entiers PHP sont signés et que beaucoup d'adresses IP peuvent être des entiers négatifs sur les architectures 32-bits, vous devez utiliser le motif "%u" de la fonction sprintf() ou de la fonction printf() pour récupérer la représentation sous forme de chaîne de caractères d'une adresse IP non signé.
Note:
ip2long() devrait retourner
FALSE
pour l'adresse IP 255.255.255.255 en PHP 5 <= 5.0.2. Ce comportement a été modifié en PHP 5.0.3 où il retournait -1 (comme en PHP 4).