Home >Backend Development >PHP Problem >How to use php ip2long function

How to use php ip2long function

藏色散人
藏色散人Original
2020-06-30 11:10:382879browse

php The ip2long function is used to convert the IPV4 string Internet protocol into a long integer number. Its usage syntax is "ip2long (string $ip_address): int", and the parameter "ip_address" represents an address in a standard format.

How to use php ip2long function

php ip2long function

ip2long — Converts an IPV4 string Internet protocol to a long integer number

Description

ip2long ( string $ip_address ) : int

The function ip2long() returns the long integer format of the IPV4 network address, converted from the standard network address format (dot string).

ip2long() 还可以与非完整IP进行工作。 阅读 » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm 获得更多信息。

Parameters

ip_address

An address in a standard format.

Return value

Returns the converted number of the IP address or FALSE if ip_address is invalid.

Change log

Version

5.5.0 Prior to this version, on Windows ip2long() would sometimes return a valid number even if passed a value which was not an (IPv4) Internet Protocol dotted address.

5.2.10 Prior to this, ip2long() would sometimes return a numeric address even though this was not an IPv4 canonical address.

Example

Example #1 ip2long() Example

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

Example #2 Display IP address

The second example illustrates printing a conversion The last address uses the printf() function in PHP4 and PHP5:

<?php
$ip   = gethostbyname(&#39;www.example.com&#39;);
$long = ip2long($ip);
if ($long == -1 || $long === FALSE) {
    echo &#39;Invalid IP, please try again&#39;;
} else {
    echo $ip   . "\n";           // 192.0.34.166
    echo $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Note

Note:

Because PHP's integer type is signed, and there are many IPs The address is negative in the case of 32-bit systems, and you need to use "%u" to convert the string obtained by sprintf() or printf() to represent the unsigned IP address.

Note:

ip2long() will return FALSE when the IP is 255.255.255.255 and the version is PHP 5 <= 5.0.2. After the fix, PHP 5.0.3 will return - 1 (Same as PHP4).

For more related knowledge, please visit PHP Chinese website!

The above is the detailed content of How to use php ip2long function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn