max. 10 Zeilen in txt-Datei

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

  • max. 10 Zeilen in txt-Datei

    Ich stehe vor nem kleinen Problem.
    Is nix grosses, aber ich komm im Moment einfach nicht drauf, wie ich es angehen könnte...

    Ich habe ein Formular, über das User einen Text eingeben können, der dann in einer Textdatei (msg.txt) gespeichert wird.
    Je Eintrag eine Zeile.
    Diese Textdatei wird nun zeilenweise mit PHP ausgelesen und jede Zeile an einen JavaScript-Ticker übergeben.
    Funktioniert alles problemlos.
    Nun möchte ich aber erreichen, dass in der Textdatei immer maximal 10 Zeilen stehen. Sobald eine neue Zeile dazukommt, soll die letzte (also die älteste) gelöscht werden, so dass wieder nur 10 Zeilen in der TXT stehen.
    Wie erreich ich sowas?
    Klar, ich könnte einach immer nur 10 Zeilen an den Ticker übergeben, aber die TXT würde dabei ins unermessliche wachsen, wenn ich nicht die alten Zeilen automatisch rauslösche.
    Jemand einen Vorschlag?
    Wahrscheinlich seh ich nur vor lauter Bäumen den Wald nicht..

  • #2
    PHP-Code:
    <?php
    $file         
    "datei.txt";    // Filename
    $inhaltNeu     "Neuer Inhalt";


    $inhaltNeu .= "\n";
    @
    $fp fopen($file,"r"); // File öffnen
    if (!$fp) {
        print 
    "File $file doesn't exist<br>\n";
    } else {
        
    $fileok "ok";
        while (!
    feof($fp)) { 
            
    $zeile[] = fgets($fp4096); // alte Inhalte lesen
        
    }
    }
    @
    fclose($fp);
    if (
    $fileok == "ok") {
        
    $fp fopen($file,"w");
        if (!
    $fp) {
                print 
    "File $file doesn't exist<br>\n";
        } else {
            
    fputs($fp$inhaltNeu); // zuerst den neuen Inhalt schreiben
            
    for ($i=0;$i<9;$i++) { // die restlichen 9 
                
    $zeileo $zeile[$i];
                
    fputs($fp$zeileo); // Zeilen vom alten Inhalt dazumalen
            
    }
        }
        
    fclose($fp);    
    }
    ?>
    Zuletzt geändert von hand; 19.08.2002, 16:24.

    Kommentar


    • #3
      genial!!! danke..
      hab jetzt keine Zeit mehr... werd's aber ausprobieren, sobald ich Zeit habe..

      Kommentar

      Lädt...
      X