Class yii\helpers\BaseIpHelper
继承 | yii\helpers\BaseIpHelper |
---|---|
子类 | yii\helpers\IpHelper |
可用版本自 | 2.0.14 |
源码 | https://github.com/yiichina/yii2/blob/api/framework/helpers/BaseIpHelper.php |
BaseIpHelper 类为 yii\helpers\IpHelper 提供了具体的实现方法
不要使用 BaseIpHelper,使用 yii\helpers\IpHelper 类来代替。
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
expandIPv6() | 将 IPv6 的地址扩展为完整的形式。 | yii\helpers\BaseIpHelper |
getIpVersion() | 获取 IP 版本。不执行 IP 地址验证。 | yii\helpers\BaseIpHelper |
inRange() | 检测 IP 地址是否正确或者子网 $subnet 包含了 $subnet。 | yii\helpers\BaseIpHelper |
ip2bin() | 将 IP 转换成 bits 形式来表示。 | yii\helpers\BaseIpHelper |
常量
常量 | 值 | 描述 | 被定义在 |
---|---|---|---|
IPV4 | 4 | yii\helpers\BaseIpHelper | |
IPV4_ADDRESS_LENGTH | 32 | IPv4 地址使用 bits 表示的长度 | yii\helpers\BaseIpHelper |
IPV6 | 6 | yii\helpers\BaseIpHelper | |
IPV6_ADDRESS_LENGTH | 128 | IPv6 地址使用 bits 表示的长度 | yii\helpers\BaseIpHelper |
方法详情
将 IPv6 的地址扩展为完整的形式。
例如 2001:db8::1
将被展开成 2001:0db8:0000:0000:0000:0000:0000:0001
这种形式
public static string expandIPv6($ip) | ||
$ip | string | 原始有效的 IPv6 地址 |
return | string | 展开的 IPv6 地址 |
---|
获取 IP 版本。不执行 IP 地址验证。
public static integer getIpVersion($ip) | ||
$ip | string | 有效地 IPv4 或者 IPv6 地址。 |
return | integer |
---|
检测 IP 地址是否正确或者子网 $subnet 包含了 $subnet。
例如,下面的代码检查子网 192.168.1.0/24
是否存在子网 192.168.0.0/22
:
IpHelper::inRange('192.168.1.0/24', '192.168.0.0/22'); // true
如果您需要检查单个 IP 地址 192.168.1.21
在子网 192.168.1.0/24
中,
你可以用这些例子中的任何一个:
IpHelper::inRange('192.168.1.21', '192.168.1.0/24'); // true
IpHelper::inRange('192.168.1.21/32', '192.168.1.0/24'); // true
参见 https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing.
public static boolean inRange($subnet, $range) | ||
$subnet | string | 有效地 IPv4 或者 IPv6 地址或者 CIDR 范围,例如: |
$range | string | 有效地 IPv4 或者 IPv6 CIDR 范围,例如 |
return | boolean | $subnet 是否包含 $range 中 |
---|
将 IP 转换成 bits 形式来表示。
public static string ip2bin($ip) | ||
$ip | string | 有效的 IPv4 或者 IPv6 地址 |
return | string | Bits 用字符串来表示 |
---|