Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PLIKI] Odczytanie X ostatnich linii pliku
kiler129
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Witajcie!
Skrypt który pisze ma dość specyficzne środowisko uruchomieniowe - nieco ponad 150Mhz procesora ARM i 80MB ramu.
Początkowo wykonywałem komendę "tail -n 4 plik" jednakże w pętli jest to mało efektywne. Do tego stopnia, że dla 10 elementów zajmuje to ok 2 sekund (jest to nie do zaakceptowania w moim przypadku).
Przez ostatnią godzinę krążę w kółko - fopen, fgets itp. Niestety nie wiem jak pobrać ostanie X linii z pliku. Pobranie z początku nie sprawia mi problemu:
  1. function unix_head($f, $n) { //Pobiera n linii z początku pliku
  2. $fp = @fopen($f, "r");
  3. $ret = "";
  4. $i = 0;
  5. while(!feof($fp) && $i<$n) {
  6. $ret .= fgets($fp);
  7. $i++;
  8. }
  9. fclose($fp);
  10. return $ret;
  11. }

Mogę co prawda użyć funkcji file() i pobawić się tablicą jednakże ładowanie do pamięci całego pliku (od 100KB do 1MB) nie ma nic wspólnego z wydajnością (IMG:style_emoticons/default/dry.gif)


Czy któryś z kolegów może podać mi sposób na implementację funkcji tail w php?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 19:04