回答

收藏

IP段判断

后台知识 后台知识 589 人阅读 | 0 人回复 | 2024-08-31

本帖最后由 zhangchi 于 2024-8-31 17:32 编辑
  1. /**
  2.                         * 判断是否是某一IP段
  3.                         *
  4.                         * @param string    ip  需要判断的IP
  5.                         * @param string    network IP段字符串
  6.                         *
  7.                         * @return bool
  8.                         */
  9.                         function ip_in_network($ip, $network)
  10.                         {
  11.                             $ip = (double) (sprintf("%u", ip2long($ip)));
  12.                             $s = explode('/', $network);
  13.                             $network_start = (double) (sprintf("%u", ip2long($s[0])));
  14.                             $network_len = pow(2, 32 - $s[1]);
  15.                             $network_end = $network_start + $network_len - 1;
  16.                         
  17.                             if ($ip >= $network_start && $ip <= $network_end) {
  18.                                 return true;
  19.                             }
  20.                             return false;
  21.                         }
复制代码


分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

38 积分
10 主题
+ 关注