inet_pton
<<<
ip2long long2ip
>>>

6.25 Réseau
6 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
checkdnsrr
closelog
debugger_off
debugger_on
define_syslog_variables
dns_check_record
dns_get_mx
dns_get_record
fsockopen
gethostbyaddr
gethostbyname
gethostbynamel
getmxrr
getprotobyname
getprotobynumber
getservbyname
getservbyport
inet_ntop
inet_pton
->ip2long
long2ip
openlog
pfsockopen
socket_get_status
socket_set_blocking
socket_set_timeout
syslog

6.25.26 ip2long() Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale

[ Exemples avec ip2long ]   PHP 4, PHP 5

int  ip2long ( string   ip_address )

ip2long génère une adresse IPv4 à partir de son équivalent numérique. Si ip_address est invalide, la fonction retournera -1 . Notez que -1 n'est pas évalué à FALSE en PHP.

Note

Depuis PHP 5.0.0, ip2long retourne FALSE si le paramètre ip_address n'est pas valide.

Exemple avec ip2long

<?php
$ip
= gethostbyname('www.example.com');
$out = "Les URLS suivantes sont équivalentes :<br />\n";
$out .= 'http://www.example.com/, http://' . $ip . '/, et http://' . ip2long($ip) . "/<br />\n";
echo
$out;
?>
Note

Comme les entiers PHP sont signés et que beaucoup d'adresses IP peuvent être des entiers négatifs, vous devez utiliser le formateur "%u" de la fonction sprintf ou printf pour récupérer une représentation sous la forme d'une chaîne de caractères pour les adresses IP non signées.

Ce second exemple montre comment afficher une adresse convertie à l'aide de la fonction printf en PHP 4 et en PHP 5 :

Affichage d'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
}
?>

ip2long ne devrait pas être utilisée comme seule méthode pour valider une adresse IP. Combinez-la avec long2ip :

Validation d'adresse IP

<?php
// s'assure que les IPs sont valides. Convertit également une IP incomplète
// en un format valide comme expliqué plus haut.
$ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1"
$ip = long2ip(ip2long("10.0.0")); // "10.0.0.0"
$ip = long2ip(ip2long("10.0.256")); // "10.0.1.0"
?>

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.

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).

Voir aussi long2ip et sprintf .

<< ip2long >>
inet_pton Réseau long2ip