首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP中实际IP与部分IP的比较

PHP中实际IP与部分IP的比较
EN

Stack Overflow用户
提问于 2010-04-15 20:49:14
回答 3查看 2.5K关注 0票数 0

使用PHP,我希望将实际的ip地址与部分ip地址进行比较,并查看它是否匹配。例如,我想看看地址是否与12.34匹配。

代码语言:javascript
运行
复制
<?php
$rem_address = getenv('REMOTE_ADDR');
$temp = substr ($rem_address,0,6)
if ($temp == "12.34.") echo "It's a match";
?>

有没有更容易/更好的方法来做这件事?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-15 21:26:48

函数strpos($haystack, $needle)将告诉您子字符串出现的$haystack字符串中的第一个位置。

只要仔细检查===比较操作符,就可以看到"12.34"是否出现在IP地址的开头。

代码语言:javascript
运行
复制
if (strpos ($rem_address, "12.34.") === 0) echo "It's a match";

检查文档并小心注意警告。

票数 4
EN

Stack Overflow用户

发布于 2010-04-15 21:05:58

代码语言:javascript
运行
复制
<?php
$full_address = getenv('REMOTE_ADDR');
$pattern = "/^" . preg_quote('12.34') . "/";
$count = preg_match($pattern, $full_address);
if ($count!=0) {
//match
}
?>
票数 0
EN

Stack Overflow用户

发布于 2010-04-15 21:50:25

还有更多基于ip2long的方法

代码语言:javascript
运行
复制
(ip2long($_SERVER['REMOTE_ADDR']) & 0xFFFF0000) == 0x0C220000
! ((ip2long($_SERVER['REMOTE_ADDR']) & 0xFFFF0000) ^ 0x0C220000)
! ((ip2long($_SERVER['REMOTE_ADDR']) ^ 0x0C220000) >> 16)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2648874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档