PHP IP到网络翻译

Mat*_*tic 2 php memcached caching

我如何从IP地址获得/ 22网络地址?

喜欢:

/24 of 193.95.221.54 is 193.95.221.0
/16 of 193.95.221.54 is 193.95.0.0
/8 of 193.95.221.54 is 193.0.0.0
/22 of 193.95.221.54 is 193.95.X.0
Run Code Online (Sandbox Code Playgroud)

我想使用单个缓存条目缓存1024个IP地址的GeoIP数据,以节省缓存空间和查找次数(GeoIP数据库为25 MB).

ZZ *_*der 7

你可以使用这个功能,

<?php

function to_netmask($ip, $prefix) {
    $mask = $prefix==0?0:0xffffffff << (32 - $prefix);
    return long2ip(ip2long($ip) & $mask);
}

?>
Run Code Online (Sandbox Code Playgroud)