array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.ip2long.php', 1 => 'ip2long', ), 'up' => array ( 0 => 'ref.network.php', 1 => 'Fonctions réseaux', ), 'prev' => array ( 0 => 'function.inet-pton.php', 1 => 'inet_pton', ), 'next' => array ( 0 => 'function.long2ip.php', 1 => 'long2ip', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/network/functions/ip2long.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
ip2long — Convertit une chaîne contenant une adresse (IPv4) en notation décimale à point en une adresse entier long
La fonction ip2long() génère une représentation en entier long d'une adresse IPv4 depuis son format standard (notation décimale à point)
ip2long() fonctionne également avec des adresses IP incomplètes. Lire » http://ps-2.kev009.com/wisclibrary/aix52/usr/share/man/info/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm pour plus d'informations.
ip
Une adresse au format standard.
Retourne l'entier long, ou false
si ip
est invalide.
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
Ce second exemple montre comment afficher une adresse convertie à l'aide de la fonction printf() :
<?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"; // 3221234342 (-1073732954 sur les sytèmes 32-bit, à cause du débordement d'entier)
printf("%u\n", ip2long($ip)); // 3221234342
}
?>
Note:
Comme les entier PHP sont signés et que beaucoup d'adresses IP résulteront en 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() retournera
-1
pour l'IP255.255.255.255
sur les systèmes 32-bits à cause du débordement de la valeur d'entier.