Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie ostatniej linii z pliku
Forum PHP.pl > Forum > PHP
treewood
Czy jest jakas funkcja lub mozliwosc pobrania ostatniej linii z pliku tak by nie trzeba bylo zczytywac go calego...

Szkoda by pobierac caly plik do tablicy przez funkcje file( ) tylko po to by pobrac ostatnia linie podobnie gdy chce sie pobrac tylko pierwsza.

Czy wiecie jak to zrobic oszczedzajac na max serwer?
Misiek
Możesz zastosować fgets(). Co prawda ta funkcja pobiera pierwszą linię, ale możesz pokombinować i zapisaywać dane na końcu pliku. Wtedy pierwsza linia będzie ostatnią. Tylko taki pomysł przyszedł mi do głowy.

Pozdrawiam
rogrog
najpierw odpowiednią ilość razy wykonujesz fgets() a potem kiedy dojdziesz do końca pliku zapisujesz ostatnią wartość...
mike
  1. <?php 
  2. function readlastline($file) 
  3. { 
  4.  $fp = @fopen($file, &#092;"r\"); 
  5.  $pos = -1; 
  6.  $t = &#092;" \"; 
  7.  while ($t != &#092;"n\") { 
  8.  fseek($fp, $pos, SEEK_END); 
  9.  $t = fgetc($fp); 
  10.  $pos = $pos - 1; 
  11.  } 
  12.  $t = fgets($fp); 
  13.  fclose($fp); 
  14.  return $t; 
  15. } 
  16. ?>

Przykład zaczerpnięty z : fseek(). Czasem dobrze czytać manuala. winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.