[PHP] Ganz bestimme Zeile aus einer Datei löschen...

exciter

Mitglied
Hallo Mitstreiter ;)

Also ich stehe vor folgendem Problem, das ich irgendwie nicht knacken kann:

In einer Textdatei steht in jeder Zeile ein Eintrag mit folgendem Muster:

PECqGb|||benutzer1|||1041485711 <--Zeile 1
XpuyKo|||benutzer2||| 1041485895 <--Zeile 2
usw...

wobei PECqGb ein Zufallsstring und 1041485711 ein Timestamp ist.

$datei="s.txt";

$cols=file($datei);
foreach($cols as $rows) {

$data=explode("|||", $rows);

$rand=$data[0];
$nutzer=$data[1];
$timestamp=$data[2];

Wenn der User logout.php?del= PECqGb aufruft, soll die Zeile der Datei, in der $rand gleich PECqGb ist, gelöscht werden. Bloß wie weiß ich, in welcher Zeile das der Fall ist? Den Rest mit Löschen und wieder Zusammensetzen des Arrays sowie Neuschreiben der Datei weiß ich ja... Es geht nur um dieses Detail!

Nochmal eine kleine Zusammenfassung: ich laufe alle Zeilen der Datei mit foreach($cols as $rows) durch, --> if($_GET['del']==$rand) , dann soll die betreffende Zeile gelöscht werden...

Wenn ich mich unklar ausgedrückt habe, hackt nach!
 
Irgendwie kommt's mir so vor, als ob du dir die Antwort auf deine Frage schon selbst gegeben hast... du schreibst ja dass du das mit dem Löschen und neu Schreiben alles schon hast... nuja.

PHP:
<?
$datei = "s.txt";
$cols = file($datei);
$fp = fopen($datei, "w+");

foreach($cols as $rows) {
  list($rand, $nutzer, $timestamp) = explode("|||", $rows);
  if ($rand != $_GET['del']) {
    fwrite($fp, $rows);
  }
}

fclose($fp);
?>
 
hi,

ich bin total neu im php programmieren und hab da ein ähnliches problem:

$news["name"][1] = "Bond.rc";
$news["topic"][1] = "freibier";
$news["icon"][1] = "bierglas";
$news["date"][1] = "19.7.2003";
$news["text"][1] = "blablabla";

so sieht's in der datei aus wo ich meine news abspeichere. wenn ich jetzt 50 news da drin stehen hab und eine löschen will (mit button unter den news und so..) wie krieg ich das hin das er das "feld" löscht?

danke schonmal :)
 
Zurück