ip2long
(PHP 4, PHP 5, PHP 7, PHP 8)
ip2long — 將 IPV4 的字串網際網路協議轉換成長整型數字
說明
ip2long(string
$ip_address
): int函式 ip2long() 返回 IPV4 網路地址的長整型格式,從標準網路地址格式(點字串)轉化得到。
ip2long() 還可以與非完整IP進行工作。 閱讀 » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm 獲得更多資訊。
參數
-
ip_address
-
一個標準格式的地址。
返回值
返回IP地址轉換后的數字 或 false
如果 ip_address
是無效的。
更新日誌
版本 | 說明 |
---|---|
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 | 再此之前的版本, ip2long() 有時會返回即使這不是一個IPV4的標準地址的數字地址。 |
範例
示例 #1 ip2long() 例子
<?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;
?>
示例 #2 顯示IP地址
第二個例子說明列印一個轉換后的地址使用 printf() 在PHP4和PHP5的功能:
<?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
}
?>