Rumah > php教程 > php手册 > teks badan

PHP IP地址函数ip2long(),long2ip()

WBOY
Lepaskan: 2016-06-06 19:41:59
asal
947 orang telah melayarinya

先看看下边这段PHP代码。这段使用ip2long函数,对同一个IP进行转换。当然,也有人认为58.99.011.1和058.99.011.1算不上合法的 IP,那就Return,此文对你没有帮助。 为什么要使用带前导零的ip:为了在数据库中查询,这个可以在IP库中定位到ip所对应的位置信息

先看看下边这段PHP代码。这段使用ip2long函数,对同一个IP进行转换。当然,也有人认为58.99.011.1和058.99.011.1算不上合法的IP,那就Return,此文对你没有帮助。

为什么要使用带前导零的ip:为了在数据库中查询,这个可以在IP库中定位到ip所对应的位置信息。虽然没有整型的IP查询效率高,但毕竟直观啊。

php  

echo ip2long(58.99.11.1),"
";   //输出是 979569409 
 

echo ip2long(58.99.011.1),"
";  //输出是 979568897 
 

echo ip2long(058.99.11.1),"
";  //输出是空 
 

?>  

echo ip2long(58.99.11.1),"
";   //输出是 979569409

echo ip2long(58.99.011.1),"
";  //输出是 979568897

echo ip2long(058.99.11.1),"
";  //输出是空

?>

在PHP 4.x,5.x中, 有前导零的ip转换的结果都不正确。

解决办法,使用写自己的函数:()

function myip2long($ip){  

   $ip_arr = split(.,$ip);  

   $iplong = (16777216 * intval($ip_arr[0])) + (65536 * intval($ip_arr[1])) + (256 * intval($ip_arr[2])) +intval($ip_arr[3]);  

   return $iplong;  

}

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan