我有一个记录用户IP地址的文本文件,我试图将每个现有地址与访问者的IP地址进行比较以查看它们是否匹配。如何将文本文件的行与变量进行比较
如果它们不匹配,我想将用户的IP地址写入文本文件 - 否则我不希望将任何内容写入文本文件。
目前,所有IP地址正在写入文本文件,即使它们匹配。任何帮助表示赞赏,在此先感谢。
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$ipFile = 'ip.txt';
$openip = fopen($ipFile, 'r');
$exists = false;
while(!feof($openip))
{
$existingip = fgets($openip);
if($existingip == $ip) {
echo "Your ip already exists <br>";
$exists = true;
}
}
fclose($openip);
if($exists == false) {
$openip = fopen($ipFile, 'a');
fwrite($openip, $ip . "\r\n");
echo "Your IP has been logged <br>";
fclose($openip);
}
else {
echo "Your IP is already stored <br>";
}
?>
为什么不使用数据库? INSERT IGNORE'会简单得多。 – DocRattie