Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] czytanie lini z pliku - file i fgets
Forum PHP.pl > Forum > Przedszkole
Radeqq
Na pewnej stronie przeczytałem, że funkcja file() jest bardzo nieefektywna jeśli chcemy pobrać tylko jedną linię z pliku. Doradzają zastosowanie:


  1. <?php 
  2.   $fp = fopen('plik', 'r'); 
  3.   fgets($fp); 
  4.   $szukana_linia = fgets($fp); 
  5.   fclose($fp); 
  6. ?>




Tylko nie mam pojęcia co zrobić aby wyświetlić np. całą trzecią linię. $szukana_linia[0] zwraca mi pierwszą literę drugiej lini.

Dziękuję za pomoc i pozdrawiam.
wieprzucpp
http://php.net.pl/manual/pl/function.fgets.php
pierwszy przykład przerobiłem tongue.gif

  1. <?
  2. $uchwyt = @fopen ("aaa.txt", "r");
  3.  
  4. if ($uchwyt)
  5. {
  6. $x=0;
  7. while (!feof($uchwyt))
  8. {
  9. $buffer[$x] = fgets($uchwyt, 4096);
  10. $x++;
  11. }
  12. fclose ($uchwyt);
  13. }
  14.  
  15. echo("$buffer[2]");
  16. ?>


pozdro
Pilsener
  1. <?php
  2. $buffer[$x] = fgets($uchwyt, 4096);
  3. ?>
- w czym to ma być lepsze od file? Przecież to funkcja file, napisana przy pomocy while+fgets, więc na pewno to rozwiązanie jest mniej wydajne od file. Jak chcesz wczytać określoną liczbę linii z pliku:

  1. <?php
  2. $uchwyt = fopen($pliczek,'r');
  3.  while(!feof($uchwyt)){
  4. $linia = rtrim(fgets($uchwyt));
  5. $licznik++;
  6. if($licznik>$od && $licznik<=$do){
  7.  $tabliczka[] = $linia;
  8. }
  9.  }
  10.  fclose($uchwyt);
  11. ?>
- $od i $do to numery rekordów, do tablicy $tabliczka wczytywane są tylko te rekordy, które chcesz wyświetlić.
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.