Textdatei auslesen

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

  • Textdatei auslesen

    Hallo PHP-Profis!

    Ich bin neu auf dem Gebiet. Ich möchte eine Textdatei auflisten und zwar so, dass immer der neueste Eintrag oben steht. Neue Einträge werden immer unten angehängt.

    Mein Skript, die in die TXT schreibt:

    --------------------------------------------
    eintrag="
    Rennen: $rennen<br>
    1: $date<br>
    2: $pole<br>
    3: $p1<br>
    4: $p2<br>
    5: $p3<br>
    6: $p4<br>
    7: $p5<br>
    8: $p6<br>
    9: $sr<br><hr>
    ";

    $datei=fopen("xxx.txt","a");
    fwrite($datei,$eintrag);

    fclose($datei);
    -----------------------------------------------

    Liste tu ich die Datei zurzeit mit Include "XXX:txt";

    Wie kann ich dieses Problem lösen?
    Moß ich beim schreiben oder beim lesen was anders machen?

  • #2
    Wenn Du vor dem schreiben des neuen Eintrags fopen mit nem anderen mode aufrufst, sollte automatisch an den Dateianfang geschrieben werden.

    Probier mal:
    $datei = fopen ("xxx.txt","r+");
    Of all things I've lost
    I miss my mind the most

    Kommentar


    • #3
      Jetzt wird der neue eintr. oben geschrieben, Leider werden jetzt meine anderen Daten überschrieben.

      Kommentar


      • #4
        @ tj99de
        Irrtum. Dann werden die entsprechenden Zeilen überschrieben.
        Derr Filepointer steht auf 1 und überschreibt die erste Zeile, danach steht der Pointer auf 2 und überschreibt die zweite Zeile.

        --------------------------

        Du mußt vor dem Schreiben den Inhalt des Files Zeile für Zeile in einem Array sichern, danach das File zum Schreiben öffnen, die neue Zeile eintragen und danach die zuvor gesicherten Zeilen nach und nach wieder in das File zurückschreiben.

        PHP-Code:
        <?php
        $neuezeile 
        "Neu einzufügende Zeile";
        $filename "xxx.txt";
        @
        $fp fopen($filename,"r"); // File zum Lesen öffnen 
        if (!$fp) {
            print 
        "File $filename doesn't exist<br>\n";
        } else {
            
        $fileok "ok";
            while (!
        feof($fp)) { 
                
        $zeile[] = fgets($fp4096); // File zeilenweise in einen Array einlesen
            
        }
        }
        @
        fclose($fp);
        if (
        $fileok == "ok") {
            
        $fp fopen($filename,"w"); // File zum Schreiben öffnen 
            
        $neuezeile .= "\n"// Der neuen Zeile einen Zeilenumbruch anhängen
            
        fputs($fp$neuezeile);
            for (
        $i=0;$i<sizeof($zeile);$i++) { // Array lesen und restliche Inhalte in File schreiben
                
        fputs($fp$zeile[$i]);
            }
            
        fclose($fp);    
        }
        ?>

        Kommentar


        • #5
          muss ich in $neuezeile ="$eintrag" eingeben??

          Kommentar


          • #6
            Anstatt der Variablen $neuezeile, kannst Duch auch $eintrag verwenden. Oder du machst $neuezeile=$eintrag;
            Of all things I've lost
            I miss my mind the most

            Kommentar


            • #7
              Ek hat geklappt. Danke für deine Hilfe!!

              Kommentar

              Lädt...
              X