PHP if(...)readfile; else readfile返回两者

时间:2016-08-14 16:38:51

标签: php readfile

我试图创建一个读取依赖于客户端IP的文件的PHP函数。 到目前为止,我得到了:

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后停止脚本,以便不显示好的页面。 感谢。

1 个答案:

答案 0 :(得分:2)

您应该使用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");
    }
}