|
Последние активные темы форума |
|
ip2long
(PHP 4 , PHP 5) ip2long --
Converts a string containing an (IPv4) Internet Protocol dotted address
into a proper address
Descriptionint 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.
Замечание:
As of PHP 5.0.0 ip2long() returns FALSE when
ip_address is invalid.
Пример 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
;
?>
|
|
Замечание:
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:
Пример 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():
Пример 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.
Замечание:
ip2long() will return -1 (PHP 4) or
FALSE (PHP 5) for the IP 255.255.255.255.
Смотрите также long2ip() and
sprintf().
|