Ich habe eine Textdatei, die IP-Adressen des Benutzers protokolliert, und ich versuche, jede vorhandene Adresse mit der IP-Adresse eines Besuchers zu vergleichen, um zu sehen, ob sie übereinstimmen.Wie Zeilen einer Textdatei mit einer Variablen zu vergleichen
Wenn sie nicht übereinstimmen, möchte ich, dass die IP-Adresse des Benutzers in die Textdatei geschrieben wird - sonst möchte ich nichts in die Textdatei schreiben.
Im Moment werden alle IP-Adressen in die Textdatei geschrieben, auch wenn sie übereinstimmen. Jede Hilfe wird geschätzt, danke im Voraus.
<?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>";
}
?>
Warum nicht eine Datenbank verwenden? ein 'INSERT IGNORE' wäre viel einfacher. – DocRattie