gpt4 book ai didi

php - IPV4 与 IPV6 PHP 函数

转载 作者:可可西里 更新时间:2023-11-01 00:09:42 25 4
gpt4 key购买 nike

我一直在阅读有关如何确定 IP 是 IPv4 还是 IPv6 的文章,对我来说很明显要查找的是是否有冒号。但是,您将拥有 IPv4 映射的 IPv6 地址和 IPv4 兼容的 IPv6 地址。在我看来,这些类型的地址既有冒号又有句点,所以与其寻找字符串开头是否没有 ::ffff 的解决方案,不如这样做:

function isIPv6($ip) {
if(strpos($ip, ":") !== false && strpos($ip, ".") === false) {
return true;
}
return false;
}

编辑:我是不是遗漏了什么或者这个函数在所有情况下都能正常工作?

最佳答案

PHP => 5.2 有一个“内置”的方法来使用 filter_var 来做到这一点

您的函数可能如下所示:

function isIPv6($ip) {

if(filter_var($ip, FILTER_VALIDATE_IP)) {

if(filter_var($ip, FILTER_FLAG_IPV6)) {
//It is IPv6 indeed.
} else {
//It is IPv4
}

} else {
// NOT VALID IP
}

}

关于php - IPV4 与 IPV6 PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15675347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com