使用PHP,我希望将实际的ip地址与部分ip地址进行比较,并查看它是否匹配。例如,我想看看地址是否与12.34匹配。
<?php
$rem_address = getenv('REMOTE_ADDR');
$temp = substr ($rem_address,0,6)
if ($temp == "12.34.") echo "It's a match";
?>有没有更容易/更好的方法来做这件事?
发布于 2010-04-15 21:26:48
函数strpos($haystack, $needle)将告诉您子字符串出现的$haystack字符串中的第一个位置。
只要仔细检查===比较操作符,就可以看到"12.34"是否出现在IP地址的开头。
if (strpos ($rem_address, "12.34.") === 0) echo "It's a match";检查文档并小心注意警告。
发布于 2010-04-15 21:05:58
<?php
$full_address = getenv('REMOTE_ADDR');
$pattern = "/^" . preg_quote('12.34') . "/";
$count = preg_match($pattern, $full_address);
if ($count!=0) {
//match
}
?>发布于 2010-04-15 21:50:25
还有更多基于ip2long的方法
(ip2long($_SERVER['REMOTE_ADDR']) & 0xFFFF0000) == 0x0C220000
! ((ip2long($_SERVER['REMOTE_ADDR']) & 0xFFFF0000) ^ 0x0C220000)
! ((ip2long($_SERVER['REMOTE_ADDR']) ^ 0x0C220000) >> 16)https://stackoverflow.com/questions/2648874
复制相似问题