参考连接:https://www.php.net/manual/zh/function.ip2long.php
参考连接:https://www.php.net/manual/zh/function.sprintf.php
1. ip地址转整型
<?php $ip = "192.168.178.255"; $long = sprintf("%u\n", ip2long($ip)); echo $long; 结果:3232281343
2. 通过域名获取ip地址
<?php $ip = gethostbyname('www.suphp.cn'); $long = sprintf("%u\n", ip2long($ip)); echo $long; exit; 结果:660768957
3. 使用域名、ip、整数ip访问网站
<?php $ip = gethostbyname('www.suphp.cn'); $out = "The following URLs are equivalent:<br />\n"; $out .= 'http://www.suphp.cn/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n"; 结果:The following URLs are equivalent: http://www.suphp.cn/, http://39.98.136.189/, and http://660768957/
注:
因为PHP的 integer 类型是有符号,并且有许多的IP地址讲导致在32位系统的情况下为负数, 你需要使用 "%u" 进行转换通过 sprintf() 或printf() 得到的字符串来表示无符号的IP地址。
(完)