我有ips.txt文件,有: 31.146.153.182
ENDFILE->这是我的IP
我有index.php
<?php
$file ='ips.txt';
$ips = file($file);
$client = $_SERVER['REMOTE_ADDR'];
if ($ips[0]==$client) {
echo "ip is blocked";
} else {
echo "it does not work";
}
?>
此脚本不等于$ips[0] == $client
,但在echo
中它实际上是相同的。
答案 0 :(得分:0)
默认情况下,file
会沿换行符as documented复制。但换行符不在REMOTE_ADDR
结果中。
您可以通过向文件函数添加FILE_IGNORE_NEW_LINES
标志来避免此行为,如下所示:
$ips = file($file, FILE_IGNORE_NEW_LINES);
或者您也可以修剪支票中的行:
if (trim($ips[0]) == $client) { ... }