php ip2long函數用於將IPV4的字串網際網路協定轉換成長整型數位,其使用語法是「ip2long ( string $ip_address ) : int」,引數「ip_address」表示一個標準格式的地址。
php ip2long函數
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的標準地址的數位地址。
範例
Example #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; ?>
Example #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("%un", ip2long($ip)); // 3221234342 } ?>
注釋
Note:
因為PHP的 integer 型別是有符號,並且有許多的IP地址講導致在32位元系統的情況下為負數, 你需要使用 "%u" 進行轉換通過 sprintf() 或 printf() 得到的字串來表示無符號的IP地址。
Note:
ip2long() 將返回 FALSE 在IP是 255.255.255.255 的情況,版本為 PHP 5 <= 5.0.2. 在修復後 PHP 5.0.3 會返回 -1 (與PHP4相同).
更多相關知識,請存取PHP中文網!
以上就是php ip2long函數怎麼用的詳細內容,更多請關注TW511.COM其它相關文章!