Convertit une chaîne contenant une adresse (IPv4) en notation décimale à point en une adresse entier long

# ip2long

(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

### Description

function ip2long(string `$ip`): int|false

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.

### Liste de paramètres

`ip`

  Une adresse au format standard.

### Valeurs de retour

Retourne l'entier long, ou `false` si `ip` est invalide.

### 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 . '/, et 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 systèmes 32-bit, à cause du débordement d'entier)
        printf("%u\n", ip2long($ip)); // 3221234342
    }
    ?>

### Notes

> 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, il est nécessaire d'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ée.

> Note:

> ip2long() retourne `-1` pour l'IP `255.255.255.255` sur les systèmes 32-bits à cause du débordement de la valeur d'entier.

### Voir aussi

- long2ip() - Convertit une adresse entier long (IPv4) en sa notation décimale à point
- sprintf() - Retourne une chaîne formatée

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open