PHP Doku:: Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format") - function.long2ip.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSonstige DiensteNetworkNetzwerk-Funktionenlong2ip

Ein Service von Reinhard Neidl - Webprogrammierung.

Netzwerk-Funktionen

<<ip2long

openlog>>

long2ip

(PHP 4, PHP 5)

long2ipKonvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")

Beschreibung

string long2ip ( string $proper_address )

Die Funktion long2ip() erzeugt eine Internet Adresse im Punkt-Format (also: www.xxx.yyy.zzz) anhand einer richtigen - ausgeschriebenen - Adress-Angabe.

Parameter-Liste

proper_address

Eine korrekte Adressrepräsentation.

Rückgabewerte

Gibt die Internet-IP-Adresse als String zurück.

Siehe auch

  • ip2long() - Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe


5 BenutzerBeiträge:
- Beiträge aktualisieren...
php dot net at davidstockton dot com
4.09.2008 7:28
Beware when processing values that are invalid, you may get values that are different based on the OS.  For instance:

$ip = long2ip(pow(2,32)+1024);

On windows you get 255.255.255.255.  On linux it's 0.0.4.0.

So it seems it would be important to make sure the long you're converting is in the correct range.
Gabriel Malca
17.03.2006 14:01
If the function doesn't exist:

<?
   
if (!function_exists("long2ip")) {
        function
long2ip($long) {
           
// Valid range: 0.0.0.0 -> 255.255.255.255
           
if ($long < 0 || $long > 4294967295) return false;
           
$ip = "";
            for (
$i=3;$i>=0;$i--) {
               
$ip .= (int)($long / pow(256,$i));
               
$long -= (int)($long / pow(256,$i))*pow(256,$i);
                if (
$i>0) $ip .= ".";
            }
            return
$ip;
        }
    }
?>
randomize at randomizer dot com
28.01.2006 6:51
Random ip address! (4294967295 is 255.255.255.255)

long2ip(rand(0, "4294967295"))
flobee
13.02.2005 23:50
when importing ip-ranges to a mysql database using an INT(10) field - NOTE: that you will get problems when using intval() function!

copied from "cleong" : 02-Oct-2001 02:21
intval() handles overflow differently depending on the type of the argument.
<?php
// intval('10000000000') = 2147483647
// intval(1e10) = 1410065408
?>
Tom Crosley
16.02.2003 22:13
I wanted to be able to pass an IP address in a URL always as an unsigned int.  I then converted it back as shown below:

$ip_addr = "192.168.100.25";  // example IP address that converts to neg #

$s32int = ip2long($ip_addr);

$us32str = sprintf("%u",$s32int);               // convert to unsigned string

// display orig IP address, signed 32 bit version, unsigned 32 bit ver,
// finally converted back to IP addr

printf("%s ,%d, %s, %s", $ip_addr, $s32int, $us32str,
         long2ip(-(4294967296-$us32str)));

// tested on Linux/Apache PHP 4.1.2



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)