ip2long

(PHP 4 )

ip2long --  Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address.

Description

int ip2long ( string ip_address)

The function ip2long() generates an IPv4 Internet network address from its Internet standard format (dotted string) representation. If ip_address is invalid than -1 is returned. Note that -1 does not evaluate as FALSE in PHP.

Example 1. ip2long() Example

<?php
$ip = gethostbyname("www.example.com");
$out = "The following URLs are equivalent:<br>\n";
$out .= "http://www.example.com/, http://".$ip."/, and http://".sprintf("%u",ip2long($ip))."/<br>\n";
echo $out;
?>

Note: Because PHP's integer type is signed, and many IP addresses will result in negative integers, you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address.

This second example shows how to print a converted address with the printf() function :

Example 2. Displaying an IP address

<?php
$ip   = gethostbyname("www.example.com");
$long = ip2long($ip);

if ($long === -1) {
    print "Invalid IP, please try again";
} else {
    print $ip   . "\n";           // 192.0.34.166
    print $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Note: ip2long() will return -1 for the ip 255.255.255.255

See also long2ip() and sprintf().