rainer: Schreiben einer .txt (append ??)

Guten Morgen Allerseits,

mein Problem (bzw. ich komm nicht drauf):

$datei = fopen("text.txt", "a");

haengt mir einen neuen Eintrag an. So weit so gut.

Ich moechte aber den Eintrag am Anfang der Datei haben. (r+)??

Gruss

rainer

  1. Hallo!

    Ich moechte aber den Eintrag am Anfang der Datei haben. (r+)??

    Wo ich das mir "r+" jetzt in der Doku lese..., hört sich so an, als ob ein "r+" reichen sollte?! Hast Du es mal ausprobiert? Neee, sicherlich nicht!

    Ansonsten sollte das folgende funktionieren.

    $neue_zeile = "Ich will ganz an den Anfang\n";

    // auslesen
    $fp = fopen("text.txt", "r");
    $inhalt_txt = fread($fp, filesize("text.txt"));
    fclose($fp);

    // alten Inhalt an die neue Zeile anhängen
    // durch \n in neuer Zeile => Zeileumbruch
    $inhalt_txt = $neue_zeile . $inhalt_txt;

    // neu schreiben
    $fp = fopen("text.txt", "w");
    fwrite($fp, $inhalt_txt, strlen($inhalt_txt));
    fclose($fp);

    MfG, André Laugks

    1. Hi Andre,

      vielen dank schon mal.

      // neu schreiben
      $fp = fopen("text.txt", "w");

      ^^^^heisst das nicht "write-only"??
                                 und leider auch "vorhandene Daten werden geloescht!

      fwrite($fp, $inhalt_txt, strlen($inhalt_txt));
      fclose($fp);

      ein immer noch gruebelnder

      rainer

      1. Hallo,

        // neu schreiben
        $fp = fopen("text.txt", "w");
                                   ^^^^heisst das nicht "write-only"??
                                   und leider auch "vorhandene Daten werden geloescht!

        fwrite($fp, $inhalt_txt, strlen($inhalt_txt));
        fclose($fp);

        ein immer noch gruebelnder

        rainer

        André lädt die gesamte Datei in den Speicher, fügt (im Speicher) eine Zeile vorneran und schreibt das ganze wieder. Einfacher geht es leider nicht.

        Grüße aus Dresden,
        Falk

        1. Moin...,

          ja ja, der Wald und die Baeume....

          Dank an Andre & L@ndstreicher

          es funktioniert.

          rainer