Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datei lesen und letzte Zeile ausgeben

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

  • [Erledigt] Datei lesen und letzte Zeile ausgeben

    Hallo,PHP Fans!
    Ich wollte mal mit PHP anfangen ,habe allerdings ein Problem:
    Wie kann ich die Letzte Zeile der Datei user.txt in eine Variabele einlesen?


    mfg phpfreund


  • #2
    PHP-Code:
    $lines file ('user.txt');
    $letzte_zeile $lines[count($lines)-1]; 

    Kommentar


    • #3
      WOOW ,das ging schnell,
      aber das wichtigste:
      Es funktioniert!!!

      Vielen Dank!

      ps. Nice Forum

      Kommentar


      • #4
        Dann den Thread bitte noch als [Erledigt] markieren. Danke!

        Kommentar


        • #5
          Wie kann ich die Letzte Zeile der Datei user.txt in eine Variabele einlesen?

          Unten sind zwei Möglichkeiten --> ganz einfache
          und etwas unständlichere.
          Der Zeitfaktor bei 1,2 Mb Datei mit ca. 90.000 Lines
          ist 1000 !!!! Also:

          <?php

          $strFileName = 'C:\\ Image.out';


          // Möglichkeit Zwei : die datei wird 100 mal ausgelesen : 6.6 sek
          $timer = startTime();
          for($x=0;$x<100;$x++){

          $daten=file($strFileName); // file voll in den array laden
          $intCount = count($daten);
          $strRow =$daten[($intCount-1)] .'<br>'; // -1 , weil von 0 gezählt wird
          }
          echo $strRow .'<br>';
          $endTime = endTime($timer);
          echo $endTime . ' Sekunden'.'<br>';


          // Möglichkeit Eins : die datei wird 100 mal ausgelesen : 0.006 sek
          $timer = startTime();
          for($x=0;$x<100;$x++){

          $fp = fopen($strFileName,'r');
          $fileSize = fileSize($strFileName);
          $intLineFinded = 0; // Anzahl der ausgelesener Zeilen
          $intLineLenExpect = 2; // die zu erwartende Grösse der letzten Zeile

          While ($intLineFinded < 2) // es müssen mindestens zwei Zeilen ausgelesen werden, damit man sicher ist --> die letzte ist vollständig
          {
          $intLineLen = 0; // abnullen für neue Suche
          $intLineFinded = 0; // abnullen für neue Suche
          $intReadPos = $fileSize - $intLineLenExpect; // Anfangs - Postion der Lesezeichens festlegen
          fseek($fp, $intReadPos ,'SEEK_SET');
          //echo $intLineLen . ' ' . $intReadPos . ' ' . $fileSize .'<br>' ;
          While (($intLineLen + $intReadPos) < $fileSize) // --> finde Letzte Zeile
          {
          $strRow = fgets($fp,($intLineLenExpect+1));
          //echo $strRow . ' ' . $intLineLenExpect .'<br>' ;
          $intLineFinded ++;
          $intLineLen = strlen($strRow);
          $intReadPos += $intLineLen;
          }
          $intLineLenExpect *= 2 ; // wenn nur Eine Line gefunden, muss man obere Schleife wiederholen mit grösserem Wert
          // if ($intLineLenExpect >1000 ) break;
          }
          fclose ( $fp );
          }
          $endTime = endTime($timer);
          echo $endTime . ' Sekunden'.'<br>';
          echo $strRow .'<br>';
          ?>

          Kommentar


          • #6
            Hätte gut werden können, wenn Du die [php]-Marker gefunden hättest.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar

            Lädt...
            X