Heim > php教程 > php手册 > Hauptteil

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

WBOY
Freigeben: 2016-06-06 19:41:59
Original
947 Leute haben es durchsucht

先看看下边这段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;  

}

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage