fgets() liest nur letzte Zeile?

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

  • fgets() liest nur letzte Zeile?

    Hi!

    Hab ein Problem mit fgets(). Und zwar will ich eine HTML-Seite ein einer Variable speichern und hab mir gedacht, das machst du mit fgets(). Eigentlich klar. Aber leider speichert er mir immer nur die letzte Zeile (</HTML>). Kann mir jemand sagen, woran das liegt?

    PHP-Code:
    $fp fopen($this->tpl_pfad.$tpl_file,"r");
    if(!
    feof($fp)) {
        
    $this->ausgabe fgets($fp);
        }
    fclose($fp);

    echo 
    $this->ausgabe
    Wenn ich die HTML-Datei in einer Zeile speicher, klappts! Es ist egal, ob ich fgets sage, wie weit er auslesen soll, oder nicht. Immer das gleiche Ergebnis.

  • #2
    fgets
    fgets -- Liest eine Zeile von der Position des Dateizeigers
    Beschreibung
    string fgets ( int fp [, int length])


    Gibt eine Zeile bis zu length -1 Bytes Länge zurück, welche aus der Datei von der aktuellen Position des Dateizeigers fp aus ausgelesen wird. Die Zeile endet an einem Zeilenumbruch (welcher im Rückgabewert enthalten ist), EOF (Ende der Datei) oder bei length - 1 Bytes (je nachdem, was eher auftritt). Ist keine Länge angegeben, wird diese auf 1k bzw. 1024 Bytes gesetzt.

    Nimm ein
    while(!feof($fp)) {
    $this->ausgabe = fgets($fp);
    echo "blabla";

    }
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Das while hatte ich zuerst, habs in nem codesnippet gesehen. konnte mir da aber keinen reim drauf machen, deswegen mein if. allerdings hat das while() den selben erfolg.

      Naja, jetzt hab ich wenigstens die Bestätigung, das while richtig war. ich versuch mal weiter. wenn noch ne idee ist, bitte gerne!

      Kommentar


      • #4
        du überschreibst ja auch immer wieder Dein $this->ausgabe = fgets($fp);
        Wenn dann $this->ausgabe .= fgets($fp);
        oder einmal fgets($fp,filesize(datei));
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Okay, habs!

          Hinter $this->ausgabe fehlte ein Punkt. So wurde die Variable ja immer überschrieben, und nur die letzte Zeile übernommen.

          Danke für die Schnelle Hilfe!!!

          EDIT:
          Gleichzeitig! Trotzdem danke!
          Zuletzt geändert von TobiaZ; 19.03.2003, 19:22.

          Kommentar

          Lädt...
          X