tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
353
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Loddar1 Loddar1 ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    97
    Hallo Leute, ich mal wieder...
    Ich möchte aus einer Datei nur die letzte zeile auslesen.
    Die Einträge in der Datei werden mal mehr (meistens) mal weniger sein.
    Egal wieviel Einträge, immer nur die letzte Zeile.
    Zum Auslesen habe ich bisher das:
    PHP-Code:
    <?php
    echo'<p class="center">Es sind ';
    $datei fopen($dbfile"r");
    while(
    $log fgetcsv($datei500"|")):
    echo 
    $log[0];
    endwhile;
    echo
    ' Downloads vorhanden!</p>';
    ?>
    Aber so werden alle Zeilen ausgelesen.
    Ich habe keinen Zähler drin.
    Kann mir trotzdem einer helfen wie ich den Zeiger auf den letzten Eintrag stelle?

    Danke schonmal.
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Du könntest mit der Funktion file() die komplette Datei in ein Array lesen. Anschließend kannst du auf den letzten Index springen, in dem du die count()-Funktion verwendest. Beispiel:

    Code php:
    1
    2
    3
    4
    
    $all_lines = file("einedatei.txt");
    // Achung, ein Array beginnt bei 0, count() gibt aber die Anzahl der Elemente
    // in einem Array zurück, also $anzahl_elemente - 1 = letztes Element
    $last_line = $all_lines[ count($all_lines)-1 ];
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Hi

    Spring mit fseek zum letzten Zeichen.
    Das mit fgetc einlesen.
    Mit fseek zum vorletzten, einlesen.
    Vorvorletzer, einlesen.
    usw...bis du einen Zeilenumbruch findest.
    Das ist dann der Anfang der letzten Zeile.

    Gruß

    edit: saftmeisters Lösung braucht mehr Speicher, ist aber einfacher.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  4. #4
    Loddar1 Loddar1 ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    97
    Danke Saftmeister, Dein Saft ist der Beste
    Sheel diene info ist zu schwer.

    Mit bestem Dank Loddar1
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 06.12.10, 09:32
  2. Antworten: 2
    Letzter Beitrag: 20.06.09, 20:07
  3. Antworten: 4
    Letzter Beitrag: 12.11.08, 13:44
  4. Letzte Zeile einer Tabelle auslesen
    Von Dommas im Forum .NET Web und Kommunikation
    Antworten: 2
    Letzter Beitrag: 29.10.07, 23:51
  5. Mysql/PHP - Letzte und nächste Zeile auslesen
    Von MastaDaDesasta im Forum PHP
    Antworten: 1
    Letzter Beitrag: 15.02.05, 21:04