downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

openlog> <ip2long
[edit] Last updated: Fri, 18 May 2012

view this page in

long2ip

(PHP 4, PHP 5)

long2ipConvierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet

Descripción

string long2ip ( string $proper_address )

La función long2ip() genera una dirección de internet en formato de puntos (por ejemplo.: aaa.bbb.ccc.ddd) a partir de una correcta representación de la dirección.

Parámetros

proper_address

Correcta representación de la dirección.

Valores devueltos

Devuelve una dirección IP de internet como cadena de texto.

Ver también

  • ip2long() - Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada



openlog> <ip2long
[edit] Last updated: Fri, 18 May 2012
 
add a note add a note User Contributed Notes long2ip
klawd at kamundo dot de 25-Jan-2012 10:34
Use these two functions to convert from and to numbers compatible to MySQLs INET_ATON and INET_NTOA
<?php
   
function convertIpToString($ip)
    {
       
$long = 4294967295 - ($ip - 1);
        return
long2ip(-$long);
    }
    function
convertIpToLong($ip)
    {
        return
sprintf("%u", ip2long($ip));
    }
?>
Anonymous 05-Aug-2011 09:38
If you're running a 32 bit machine you can get wrong IPs. To prevent from this just cast to float e.g.

<?php
long2Ip32bit
($ip){
   return
long2ip((float)$ip);
}
?>
php dot net at davidstockton dot com 03-Sep-2008 10: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-Mar-2006 05: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 27-Jan-2006 09:51
Random ip address! (4294967295 is 255.255.255.255)

long2ip(rand(0, "4294967295"))
flobee 13-Feb-2005 02: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-Feb-2003 01: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

 
show source | credits | sitemap | contact | advertising | mirror sites