Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zliczenie wierszy funkcją fgetc()
Robert1985
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 7
Dołączył: 5.08.2009
Skąd: Tychy

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


Witam wiem ,że można policzyć wiersze pliku za pomocą innych funkcji i potrafię to zrobić ,ale uparłem się na funkcję fgetc() ,żeby poćwiczyć jej używanie i niestety mój kod nie chce działać:
  1. <?php
  2. $licznik = 0;
  3.   $wskplk = fopen("$DOCUMENT_ROOT/../Zgłoszenia/Zgłoszenia.txt",'rb');
  4.    while (!feof($wskplk))
  5.                {
  6.    $znak = fgetc($wskplk);
  7.    if (!feof($wskplk))
  8.        {
  9.        if ($znak=="r\n") {echo ++$licznik;}
  10.        }
  11.    }
  12.    echo $licznik;
  13. ?>


Niestety echo wyświetla cały czas wartość 0 i nie wiem dlaczego.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) warunek w while i potem w if sa takie samo. Nie ufasz while?
2) fgetc pobiera 1 znak a sprawdzasz aż 2
  1. <?php
  2. if ($znak=="r\n")
  3. ?>


Po co robić sobie pod górkę?

Ten post edytował wookieb 5.08.2009, 13:37:48
Go to the top of the page
+Quote Post
Suh
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

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


Nie szukaj "\r\n", bo to są 2 białe znaki. "\r" to tzw. "powrót karetki" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zaś samo "\n" to jest znak nowej linii.
Dlatego też w warunku $znak powinna być porównywana tylko z "\n".
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Witam wiem ,że można policzyć wiersze pliku za pomocą innych funkcji i potrafię to zrobić ,ale uparłem się na funkcję fgetc() ,żeby poćwiczyć jej używanie i niestety mój kod nie chce działać:

Lepiej fgets" title="Zobacz w manualu PHP" target="_manual - czyli po to, po co została stworzona. Nie zdziwiłbym się, gdyby była szybsza niż ręczne przeszukiwanie każdego znaku.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 15:52