本文整理匯總了PHP中IPAddress::asReadable方法的典型用法代碼示例。如果您正苦於以下問題:PHP IPAddress::asReadable方法的具體用法?PHP IPAddress::asReadable怎麽用?PHP IPAddress::asReadable使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類IPAddress
的用法示例。
在下文中一共展示了IPAddress::asReadable方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: sameSubnet
/**
* Is this IP in the same subnet as the supplied address?
*
* Accepts net masks for both IPV4 and IPV6 and will select the appropriate one, to
* allow checking policy against request input with minimal method calls.
*
* @param string $matchIp presentation form ip address to compare
* @param int $netMask4 network mask, bits to match <= 32 for IPV4
* @param int $netMask6 network mask, bits to match <=128 for IPV6
*
* @return bool true if $this->ip and $matchIp are both in the specified subnet
*/
public function sameSubnet($matchIp, $netMask4, $netMask6)
{
$match = new IPAddress($matchIp);
if (false === $this->ipVersion() || $this->ipVersion() !== $match->ipVersion()) {
return false;
}
switch ($this->ipVersion()) {
case 4:
$mask = -1 << 32 - $netMask4;
return (ip2long($this->ip) & $mask) === (ip2long($match->asReadable()) & $mask);
break;
case 6:
$ipBits = $this->asBinaryString($this);
$matchBits = $this->asBinaryString($match);
$match = 0 === strncmp($ipBits, $matchBits, $netMask6);
return $match;
break;
}
return false;
}