Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP Network ip2long() Function



The PHP Network ip2long() function is used to converts an IP address from its common dotted format (e.g., 192.168.1.1) to a long integer. This is useful for storing or manipulating IP addresses more effectively.

This function takes one parameter: the IP address in string format. If the IP address is correct, it returns a large integer, otherwise, false. It can also deal with incomplete IP addresses. It is useful for working with IPv4 addresses in software.

Syntax

Below is the syntax of the PHP Network ip2long() function −

int ip2long ( string $ip )

Parameters

This function accepts $ip parameter which is a standard format address.

Return Value

The ip2long() function returns the long integer. And FALSE if IP address is invalid.

PHP Version

The ip2long() function is compatible with PHP versions 4, 5, 7, and 8.

Example 1

Here is the basic example of the PHP Network ip2long() function to convert the IP address to its long integer representation. The result will be printed to the screen.

<?php
   // A standard IPv4 address
   $ip = "192.168.1.1";  
   
   // Convert the IP address to a long integer
   $long = ip2long($ip);  
   echo $long;
?>

Output

Here is the outcome of the following code −

3232235777

Example 2

In the below PHP code we will use the ip2long() function and check error if there is an invalid IP address is given. So the function will return false as the IP is not valid. The program displays an error message.

<?php
   // An invalid IP address
   $ip = "999.999.999.999";  

   // Try to convert the invalid IP address
   $long = ip2long($ip);  
   if ($long === false) {
      // Print an error message 
      echo "Invalid IP address.";  
   }
?> 

Output

This will generate the below output −

Invalid IP address.

Example 3

Now the below program tries to convert a list of multiple IP addresses to long integers. It loops over each IP in an array and prints the respective long integer. This shows how ip2long() function can be used for multiple addresses.

<?php
   // List of IP addresses
   $ips = ["192.168.0.1", "10.0.0.5", "172.16.2.10"]; 

   foreach ($ips as $ip) {
      // Convert each IP address 
      $long = ip2long($ip); 
      echo "IP: $ip => Long: $long\n";  
   }
?> 

Output

This will create the below output −

IP: 192.168.0.1 => Long: 3232235521
IP: 10.0.0.5 => Long: 167772165
IP: 172.16.2.10 => Long: 2886730250

Example 4

The PHP code example explains how to use the ip2long() method in combination with the gethostbyname() function. This code gets a domain's IP address and displays three URLs: one with the domain name, one with the IP address, and one in numeric IP format.

<?php
   $ip = gethostbyname('www.tutorialspoint.com');
   $out = "The following URLs are equivalent:
   \n";

   $out .= 'http://www.tutorialspoint.com/, http://' . $ip . '/, 
      and http://' . sprintf("%u", ip2long($ip)) . "/
   \n";

   echo $out;
?>

This will produce following result −

The following URLs are equivalent:

http://www.tutorialspoint.com/, http://54.182.0.126/, and http://917897342/
php_function_reference.htm
Advertisements