Anfangs-String aus *.txt Datei löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Anfangs-String aus *.txt Datei löschen

    Hallo Leute,

    ich bin neu in diesem Forum und habe leider noch nicht soviel Ahnung von PHP - oft bleibe ich bei Kleinigkeiten stecken...
    Es wäre aber trotzdem toll wenn mir zumindest Einer bei meinem Problem weiterhelfen könnte.

    Zum Problem:

    Ich habe mir ein textbasiertes Flash-Gästebuch gebastelt. Alles funktioniert einwandfrei, bis auf ein teuflisches Detail im PHP-Teil.
    Am Anfang der TXT-Datei "gbuch.txt" muss eine flash-Variable stehen , die vor jedem neuen Eintrag gelöscht werden soll.
    Der Eintrag setzt dann die Variable wieder neu an den Anfang.
    Das Ganze ist bei mir in der Datei "speichern.php4" realisiert.

    Ich habe mir also gedacht, kein Problem - ich lese mit "file" die Datei als Array ein und setze dann die ersten 8 Buchstaben auf "" .
    Also genau die Buchstabenanzahl meiner flash-Variable (&inhalt=).

    Hmm... und es wird auch gelöscht, leider werden alle Einträge gelöscht bis auf den neuen Eintrag... ^^
    Der Witz daran ist: Lasse ich untenstehende Code (also den Code fürs "Löschen") weg, dann funktioniert das Gästebuch -
    nur dass ich vor jedem Eintrag die Variable, also "&inhalt=" stehen hab'.


    PHP-Code:

    $fp
    =fopen("gbuch.txt","w");
        
        
    $gbarray file("gbuch.txt");

    for(
    $i 1$i 9$i++) {

    $gbarray[$i] = "";

    }

    fclose($fp); 

    Help plz ... für Pro's ist das wahrscheinlich nur ein "Problemchen" ;-)

    Beste Grüße,
    Chris

  • #2
    mach folgendes .. lies den inhalt der gesamten datei in eine variable

    PHP-Code:
    $gb implode(""file("gbuch.txt""r")); 
    und ersetzt dann einfach die zeichenfolge &inhalt= durch &inhalt= plus neuem eintrag ..
    somit ist &inhalt= immer am anfang ..

    PHP-Code:
    $gb preg_replace("/&inhalt=/""&inhalt=" $_POST['eintrag'], $gb); 
    danach einfach komplett in die datei schreiben, datei schließen und voila ..

    ps: variablen sind ggf zum anpassen ..
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      PHP-Code:
      <?
      $gb = "gbuch.txt";
      $gbarray = file($gb);

      $fp=fopen($gb,"w");
      for($i = 0; $i < count($gbarray); $i++) {
         if ($i == 0) {
            $gbarray[$i] = "Neuer Inhalt der ersten Zeile\n";
         }
         fputs ($fp,$gbarray[$i]);
      }
      fclose($fp);
      Und jetzt 1. Zeile löschen
      PHP-Code:
      <?
      $gb = "gbuch.txt";
      $gbarray = file($gb);

      $fp=fopen($gb,"w");
      for($i = 0; $i < count($gbarray); $i++) {
         if ($i != 0) {
            fputs ($fp,$gbarray[$i]);
         }
      }
      fclose($fp);

      Kommentar


      • #4
        Danke für eure Tipps!

        Ich werd's gleichmal ausprobieren!

        Viele Grüße,
        Chris

        Kommentar

        Lädt...
        X