Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z plikiem - skrypt
Forum PHP.pl > Forum > Gotowe rozwiązania
Master Miko
Utworzyłem skrypt, który pobiera z pliku "dane.txt" dane, tak jak z bazy MySQL. Tylko mam jeden problem. Nie znam funkcji na sprawdzanie ilości wierszy w pliku.

Tzn. skrypt wygląda tak:

Kod
<?php
$fp = fopen("data.txt", "r+");
$r = fgets($fp);
for ($i = 0; $i < $r; $i++) {
$e = trim(fgets($fp));
$ar_field=explode("|#|",$e);
print("Oni: <b>$ar_field[0]</b> W: $ar_field[1] G: $ar_field[2]\n");
echo "<br>";
};
fclose($fp);
?>


Wszystko pięknie działa, tylko że musze podawac konkretną ilośc wierszy w pliku (w skrypcie zmienna $r). Dlatego chce zastąpic to funkcją, która liczy, ile wierszy znajduje się w pliku.
Oto plik:

Kod
4
KB|#|8|#|7
GH|#|8|#|7
RG|#|8|#|7
EB|#|8|#|7
tiraeth
  1. <?php
  2. $fp = file(&#092;"data.txt\"); // Funkcja ta pobiera zawartosc pliku do tablicy (kazda linia to inny klucz)
  3. for ($i = 0; $i < count($fp); $i++)
  4. {
  5.  $ar_field=explode(&#092;"|#|\",$fp[$i]);
  6.  print(&#092;"Oni: <b>$ar_field[0]</b> W: $ar_field[1] G: $ar_field[2]n\");
  7.  echo &#092;"<br>\";
  8. }
  9. ?>


Wyswietli wszystkie linie smile.gif Poczytaj o funkcji file" title="Zobacz w manualu PHP" target="_manual()
crash
Proponuję użyc do odczytywania pętli while z warunkiem !feof($fp)
Master Miko
Cytat(Tiraeth @ 2005-01-15 10:29:54)
  1. <?php
  2. $fp = file(&#092;"data.txt\");  // Funkcja ta pobiera zawartosc pliku do tablicy (kazda linia to inny klucz)
  3. for ($i = 0; $i < count($fp); $i++)
  4. {
  5.    $ar_field=explode(&#092;"|#|\",$fp[$i]);
  6.    print(&#092;"Oni: <b>$ar_field[0]</b> W: $ar_field[1] G: $ar_field[2]n\");
  7.    echo &#092;"<br>\";
  8. }
  9. ?>


Wyswietli wszystkie linie smile.gif Poczytaj o funkcji file" title="Zobacz w manualu PHP" target="_manual()

Dziękuję bardzo smile.gif


Nie użyję whila bo jestem zbyt leniwy tongue.gif
Poza tym pętla sprawdza się biggrin.gif
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.