Philipp: Neues an den Anfang der Datei

Hi!

Weiß einer von euch, wie man in PHP Daten an den Anfang und nicht an das Ende einer Datei hängt?
Ich bin nämlich gerade dabei, mir eine Message-Box zu programmieren und habe das Problem, dass neue Einträge immer am Ende der Box angehängt werden und nicht an den Anfang.

Ich hoffe, dass ihr mir helfen könnt!

Danke im Vorraus!

Mit freundlichen Grüßen

Philipp

  1. Läuft das über eine datenbank?

    1. Läuft das über eine datenbank?

      Nein, es läuft nicht über eine Datenbank.
      Es gibt eine Datei in der alle Einträge gespeichert werden!

      Philipp

      1. Könnte ich vielleicht den entsprechenden PHP-teil mal sehen,

        ich nehme an, du liest die messag. in ein array, dann lies das array mit einer for...next schleife einfach rückwärts aus!!

        André

  2. Hallo Philipp,

    Weiß einer von euch, wie man in PHP Daten an den Anfang und nicht an das Ende einer Datei hängt?

    Ich würde es so machen (im Prinzip):

    $Datei zum Lesen öffnen
    Inhalt in $fileOld einlesen
    $Datei schließen
    $fileNew = $neuerInhalt.$fileOld
    $Datei zum schreiben öffnen
    $fileNew in $Datei schreiben
    $Datei schließen

    Zusätzlich empfiehlt sich ein Blick in
    http://www.dclp-faq.de/q/q-datei-einfuegen.html

    Gruß Susanne

  3. Hi, Philipp,

    Weiß einer von euch, wie man in PHP Daten an den Anfang und nicht an das Ende einer Datei hängt?

    Dazu habe ich ein Beispiel gefunden: Bei starker Serverbelastung solltest Du allerdings überprüfen, wie sich diese Methode auf die Performance auswirkt ...

    Insert To Top Of File

    This small snippet will work around php's innability to insert data when you open a file with the pointer at the begining, php simply over writes it.

    <?php
    $data = file("/data.txt");         // file you want insert line into
    $c = count($data);                 // count existing lines
    $fp = fopen("/data.txt", 'w+');    // open the file for writing
    fwrite($fp, $entry);               // this is where it would add your 'entry'
    for($i=0; $i<$c;$i++){             // write back the old data
    fwrite($fp, $data);
    }
    fclose($fp);                       // close up the file
    ?>

    Quelle:
    [http://www.evilwalrus.com/viewcode.php?codeEx=219]

    Grüße,

    Sebastian