Zeile aus Datei löschen

Sir Robin
gute Idee, funzt auch soweit, nur wie kann ich denn vorher die Zeile bestimmen?
kann ich im Array suchen? z.b. nach einem vorher bestimmten Wert?
und dann die Zeile ausgeben
 
Sabre:

Ich weiß leider nicht genau was du mit der ID bezweckst, und weiß leider auch nicht genau was in deiner Datei drin steht...aber gehen wir mal davon aus in jeder Zeile "id|||andererWert" steht (so vermute ich das mal)...dann kannst du das ganz einfach folgendermaßen lösen:

PHP:
<?php
//...vorher noch PW-Abfrage und Actionabfrage etc.
$datei=file("member.txt");

for($i=0,sizeof($datei),$i++){
 $zeile=explode("|||",$datei[$i]);
 if($zeile[0]==$id){
 //..hier das löschen
 }
}
?>

damit hast du dann einige Zeilen gespart, und fopen auch nicht gebraucht...

@TS-JC:

ich verstehe deine Frage mit dem "vorher Zeile bestimmen" nicht...wie meinst du das?

In einem Array suchen kannst du zum Beispiel mit
array_search oder halt mit einer For-Schleife die jede Zeile durchgeht, und beim übereinstimmenden Wert die Zeile ausgibt...array_search halte ich in dem Fall für sinnvoller..
 
Zuletzt bearbeitet:
PHP:
$dateiname = "user/daten/$login.txt";
$file = file($dateiname);
unset ($file[$zeile]);
unlink ($dateiname);
$datei = fopen($dateiname,"w");
fputs($datei,implode("",$file));
fclose($datei);

damit lösche ich ja eine Zeile, nur ich muss die vorher bestimmen, dazu wollte ich wissen, wie ich in einem Array suchen kann, totaler Quatsch, wie ich vorhin festgestellt habe :-)

ich zähle in der Datei vorher (meine Ausgabe-Datei, von der aus ich bestimme, was ich löschen möchte) einfach eine Variable hoch
ist ja ne Schleife, also gar kein Problem

THX FOR YOUR HELP
Problem gelöst :-)
 
Zurück