我正在研究一组例程,这些例程将根据已知的演员列表检查访问者的IP地址。 IF语句总是返回一个故事,即使我将ip设置为知道错误的ip。任何帮助将不胜感激。
$toratora="NO DNSBL";
$filename = 'converted.txt';
$contents = file($filename);
foreach($contents as $line):
$newline = ("$line "); //Add a space after each ip.
//If (int) is in front of $newline & $ip, then always true.
//If (int) is not in front of $newline & $ip, then always false.
if ($line == $ip):
$toratora="YES DNSBL";
endif;
endforeach;
答案 0 :(得分:0)
问题在于您的$ line值,如果您查看file()的手册,您会看到
数组的每个元素对应于文件中的一行,对应于 新线仍然附加
由于您的$ ip变量(我猜测)最后没有换行符,因此比较将失败。正如评论中所建议的那样,你应该削减$ line和$ ip ie。
if (trim($line) == trim($ip)):
$toratora="YES DNSBL";
endif;