Fury-Tech Logo
Home  News  Articles  Reviews  Guides  Resources  Forums 
Fury-Tech // Technology news, hardware and game reviews, guides, articles, and resources   
Search:


There are currently 0 members and 515 guests browsing on Fury-Tech.

SEO Scripts
SEO Scripts
List Cleaner Script
Keyword Cleaner
Free Host
Free Host
BidVerve Directory
BidVerve Directory
Directory Grow
Directory Grow


Join our community in the tech forums for uncut technology discussion.

ip2long


(PHP 4 , PHP 5)

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 then -1 is returned. Note that -1 does not evaluate as FALSE in PHP.

Note: As of PHP 5.0.0 ip2long() returns FALSE when ip_address is invalid.

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 in both PHP 4 and PHP 5:

Example 2. Displaying an IP address

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

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

ip2long() should not be used as the sole form of IP validation. Combine it with long2ip():

Example 3. IP validation

<?php
// make sure IPs are valid. also converts a non-complete IP into
// a proper dotted quad as explained below.
$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() will also work with non-complete IP addresses. Read http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm for more info.

Note: ip2long() will return -1 (PHP 4) or FALSE (PHP 5) for the IP 255.255.255.255.

See also long2ip() and sprintf().

Join our community in the tech forums for uncut technology discussion.



©2007 Fury-Tech | Tech News, Hardware Reviews, Forums, Guides, and more.

Web Hosting by Intavant

Tech News | Articles | Reviews | Guides | Resources | Tech Forums