PHP 如果(...)读取文件;否则读取文件 returns 两者

PHP if(...) readfile; else readfile returns both

我正在尝试创建一个 PHP 函数来读取依赖于客户端 ip 的文件。 到目前为止我得到了:

function getips() {

$bannedips = array('127.0.0.1','192.168.101.222');
$ip = $_SERVER['REMOTE_ADDR'];
if(strpos($ip,$bannedips)){ readfile("notallwed.html");
} else {
  readfile("good.html");
}
}

但不知何故,即使IP被禁止,它也会显示不允许的页面,以及它之后(下面)的好页面。如果IP没有被封禁,则只显示好的页面。

我在这里做错了什么?如果 IP 被禁止,我如何在读取被禁止的 IP 后停止脚本,以不显示良好的页面。 谢谢

您应该使用in_array函数来检查访问者的ip是否是被禁止的ip

function getips() {
    $bannedips = array('127.0.0.1','192.168.101.222');
    $ip = $_SERVER['REMOTE_ADDR'];

    if (in_array($ip,$bannedips)) {
        readfile("notallwed.html");
    } else {
        readfile("good.html");
    }
}