PHP 如何检查提供的 IP 范围是 IPv4 还是 IPv6



所以我有以下两个IP范围

2a02:c78::/29
2.120.0.0/13

我可以使用什么 php 函数来区分 ipv4 范围和 ipv6 范围

需要这样的东西

function ip_range_type($range_ip)
{
//if ip range provided is ipv4 then
//if ip range provided is ipv6 then
}

此解决方案的功劳归用户@deceze

function ip_range_type($range_ip)
{
    if (strpos($range_ip, ':') !== false) {
        //if ip range provided is ipv6 then
        echo "range provided is ipv6";
    } else {
        //if ip range provided is ipv4 then
        echo "range provided is ipv4";
    }
}
$range_ip = "2a02:c78::/29";
ip_range_type($range_ip);

IP地址有很多范围,例如具有网络地址的所有IPv4范围,CIDR相同,您也可以检查IPv6范围。您的问题的答案已经在这里解释 检查IPv4或IPv6范围 用有效的方法。

最新更新