Zeilen in txt.Datei sortieren??

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

  • Zeilen in txt.Datei sortieren??

    Hallo und schönen guten Abend,
    bin heute zum ersten mal hier im Forum (übrigens große Klasse) und habe auch gleich ein Problem.
    Wie kann ich meine Einträge aus einer Textdatei so sortieren, daß der neueste Beitrag oben erscheint.
    Hier das Script wie ich die .txt auslese. Mit "asort" funktioniert es nicht.


    <?php
    $dateiname="eintraege.txt";
    $lines=file($dateiname);
    $num=sizeof($lines);

    echo "Es sind zur Zeit $num Einträge im Gästebuch<br><br>";
    if ($num > 0) {
    for ($i= 0; $i< $num ; $i++)
    $dateiref=fopen("$dateiname","r");
    while(!feof($dateiref))
    {
    $zeile=explode("|",trim(fgets($dateiref,500)));

    jetzt kommt echo....
    wie kann ich in diesem Fall die Einträge sortieren?

    Vielen Dank für Eure Mühe
    Mit freundlichen Grüßen aus Thüringen
    Stephan

  • #2
    $zeile=explode("|",trim(fgets($dateiref,500)));
    rsort($zeile);
    return($zeile);

    for($a=0;$a<count($zeile);$a++){
    //hier, was halt ausgegeben werden soll !
    }

    ----------------------------------------------------
    So müsste das gehen !

    Kommentar


    • #3
      Funktioniert nicht ganz

      Vielen Dank für diesen Tipp,
      es kommt zwar keine Fehlermeldung
      aber jetzt wird auch nichts mehr angezeigt.
      Wenn ich jetzt echo.. setzte kommen keine Ausgaben.
      Was mach ich falsch??
      Mit freundlichen Grüßen aus Thüringen
      Stephan

      Kommentar


      • #4
        Du hast doch die Datei schon mit file() gelesen. dann brauchst du keine zusätzlichen Leseoperationen mehr.
        Und wenn du von vorne nach hinten schreibst, dann steht der neueste Eintrag immer hinten -> bei Ausgaben von hinten runterzählen.
        Code:
        <?php
        $dateiname = "eintraege.txt"; 
        $lines = file($dateiname); 
        $num = count($lines);
        
        echo "Es sind zur Zeit $num Einträge im Gästebuch<br><br>"; 
        for ($i=count($lines)-1; $i>=0; $i--)
        {
          $zeile = explode('|', trim($lines[$i]));
          echo ...
        }
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Vielen Dank-das funktioniert

          Hallo Titus,
          vielen Dank für diesen Tipp.
          Manchmal sieht man eben vor lauter Bäume den Wald nicht.
          Dein Tip hat jetzt erstmal mein Problem gelöst.

          Danke

          Stephan

          Mit freundlichen Grüßen aus Thüringen
          Stephan

          Kommentar

          Lädt...
          X