Search DaTutorials:  
HOME
Php Tutorials
Articles
Basics
Date and Time
File Manipulations
Forms
Functions
General
Interactivity
MySql
Navigation
News,Shoutboxes and Blogs
Language Structure and Data Types
Searching
Security
String Manipulation
User Information and Stats
Search For a Tutorial
Php Reference

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.

In PHP 5 ip2long() returns FALSE when the ip_address is in valid.

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 PHP 4:

Example 2. Displaying an IP address (PHP 4)

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

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

This third example shows how to print a converted address with the printf() function in PHP 5:

Example 3. Displaying an IP address (PHP 5)

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

if (
$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() will also work with non-complete ip adresses. 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 for the IP 255.255.255.255

See also long2ip() and sprintf().



Copyright © 2001-2004 The PHP Group
All rights reserved.

     Advertising | Record Internet Radio with Tags | Loans | Ringtones | Mobile Phone
Home     Link To Us     Ad With Us     Contact Us     Tell A Friend     Affiliates     Blog     MsOfficeHelp