没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

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

方法详情

expandIPv6() 公共 静态 方法

将 IPv6 的地址扩展为完整的形式。

例如 2001:db8::1 将被展开成 2001:0db8:0000:0000:0000:0000:0000:0001 这种形式

public static string expandIPv6($ip)
$ip string

原始有效的 IPv6 地址

return string

展开的 IPv6 地址

getIpVersion() 公共 静态 方法

获取 IP 版本。不执行 IP 地址验证。

public static integer getIpVersion($ip)
$ip string

有效地 IPv4 或者 IPv6 地址。

return integer

IPV4 或者 IPV6

inRange() 公共 静态 方法

检测 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 范围,例如:10.0.0.0/8 或者 2001:af::/64

$range string

有效地 IPv4 或者 IPv6 CIDR 范围,例如 10.0.0.0/8 或者 2001:af::/64

return boolean

$subnet 是否包含 $range 中

ip2bin() 公共 静态 方法

将 IP 转换成 bits 形式来表示。

public static string ip2bin($ip)
$ip string

有效的 IPv4 或者 IPv6 地址

return string

Bits 用字符串来表示