[PHP] Bestimmte Zeile einer Datei löschen!

Dieses Thema im Forum "Webentwicklung" wurde erstellt von B0B, 15. Oktober 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 15. Oktober 2006
    Bestimmte Zeile einer Datei löschen!

    Hallo, habe ein Problem!

    Ich will eine bestimmte Zeile aus einer Datei löschen! Ich hab die Datei bisher in ein array eingelesen:

    $array = file('datei.txt');
    die anzahl der Zeile habe ich so ausgegeben:
    echo count ($file);

    Jetzt will ich, dass ich eine bestimmte zeile (z.b nr. 5) gelöscht wird, wie geht das ? ich weis nur wie man eine bestimmte ausgibt:

    echo $array[4];

    Ich denk das müsste irgendwie gehn. Bei Google hab ich geschaut, da kommt alles, ausser mein Problem ^^
     
  2. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    Naja google findet bei mir aber was .. nutzen wir nicht das gleiche ?
    PHP: Arrays - Manual
    =>
    PHP: unset - Manual

    unset($array[1234]);

    FlowFlo
     
  3. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    danke für deine antwort, nur gehts mit unser leider nicht, mein code:

    <?
    $zeile = file('datei.txt');
    unset($zeile['2']);
    ?>
     
  4. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    Du musst die Datei danach auch wieder speichern. Und es ist kein assoziatives Array also nicht '2' sondern nur 2!
     
  5. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    ich habe es sowohl mit '2' als auch ganz normal probiert, ging beides nicht.
    wie meinst du das mit dem speichern?
    fwrite ?
     
  6. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    Ja. Mit file() liest du die Datei ja nur in ein Array ein. Wenn du $zeile dann mit var_dump() nach dem unset() dumpst, sollte die 3. Zeile aus deiner Datei fehlen!
     
  7. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    $zeile = file('tools.html');
    unset($zeile[2]);
    var_dump($zeile);

    so hab ich das jetzt, da wird mir aber nur der ganze dateiinhalt angezeigt und aus wievielen strings jede zeile hast, aber gelöscht is die 3 zeile dann nicht -.-
    was mach ich falsch ?
     
  8. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    In der Ausgabe von var_dump() wird die Zeile 3 aus deiner Textdatei nicht mehr zu finden sein. Du musst das Array $zeile nach dem unset() natuerlich auch wieder in die Textdatei schreiben.
     
  9. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    $open = fopen(datei.txt, w);
    $zeile = file('datei.txt');
    unset($zeile[2]);
    var_dump($zeile);
    fwrite($open, $zeile);

    das is mein code, der scheiß will nicht gehn -.-
     
  10. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    Jo, weil fwrite() auch einen String in die Datei schreibt und kein Array...
    so sollte es gehen:
    PHP:
    <? php
    $datei 
    'datei.txt' ;

    $zeilen  file ( $datei );
    unset(
    $zeilen [ 2 ]);

    $handle  fopen ( $datei 'wb' );
    fwrite ( $handle implode ( '' $zeilen ));
    fclose ( $handle );
    ?>
    greetz blackbone
     
  11. 15. Oktober 2006
    AW: Bestimmte Zeile einer Datei löschen!

    ok danke ging super
    ich close hier ma...
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.