hi,欢迎访问本站!
当前位置: 首页编程开发正文

php判断ip是否属于某个区段

墨初 编程开发 561阅读

在处理大量的IP地址时可能会涉及到IP区段,需要判断一个ip地址是否属于某个ip段可以使用下面的方法。

php判断ip是否属于某个区段

下面是一个关于php判断一个IP地址是否在某个IP段的方法,并调用了几个php内置的函数。

ip2long():将IPv4地址转换成整型

bindec():函数把二进制转换为十进制。

decbin():函数把十进制转换为二进制

/**
 * @name IP地址转为十进制整数
 * @param $ip IPV4 类型的IP地址
 * 
 * @return string 返回IP地址的十进制格式
 * @host https://www.73so.com
 */
function get_iplong($ip)
{
    return bindec(decbin(ip2long($ip)));
}
/**
 * @name 判断某个IP是否在指定ip区段中
 * @param $ip_start IP段的起启位置
 * @param $ip_end IP段的结束位置
 * @param $ip 需要判断的IP地址
 * 
 * @return bool true 在IP区段内  false 不在IP区段内
 * @host https://www.73so.com
 */
function ipisips($ip_start,$ip_end,$ip)
{
    $ip_start = get_iplong($ip_start); //最后的IP
    $ip_end = get_iplong($ip_end); //判断的ip
    $ip = get_iplong($ip); //需要判断的IP地址
    if($ip >= $ip_start && $ip <= $ip_end){
        return true;
    }
    return false;
}
var_dump(ipisips('110.249.202.1','110.249.202.254','110.249.202.103'));
// true
标签:
声明:无特别说明,转载请标明本文来源!
相关推荐