Tom: Überprüfen ob etwas in einer Datei steht

Beitrag lesen

Hi,

<?php
$ipadd = file("ip.txt");
if(!in_array("%$ip%",$ipadd))

vom Ansatz her nicht verkehrt. Aber file() liest eine Datei zeilenweise ein. In jeder Zeile steht dann ein String. Den musst Du erst wieder in ein Array zurückverwandeln.

Aber machs doch anders:

IP von der gepunktetetn Dezimalschreibweise in Binärzahl umwandeln. Gibts ne Funktion dafür.

Array aufbauen: IPb | Timestamp

Das Array serialisieren und abspeichern.

Bei jedem Zugriff abgespeicherte Daten holen, auspacken, die neue IP umwandeln, schauen ob sie als Index im Array steht, also einfach nach dem Timestamp an der IP-Position fragen. Wenn der ===false ist, fehlt er noch. Wenn er zu alt war, darf er überschrieben werden und "keine Sperre" sonst wird er überschrieben und "Sperre"

Natürlich ist dies eigentlich eine Anwendung für eine Datenbank.

Allerdings sind die PHP-Arrays auch ganz schön flott.

Grüße

Tom