Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zliczanie ilości plików w katalogu, zatrzymuje 'return'
Forum PHP.pl > Forum > Przedszkole
thomson89
Witam!

Dziś mam dość dziwny problem. Otóż, dodałem do funkcji w klasie skrypt który ma zliczać ilość plików w danym katalogu.
  1. $nazwa = $tabelka['nazwa'];
  2. $nazwa = preg_replace('/[^a-z ]+/i', '', $nazwa);
  3. $nazwa = str_replace(' ', '', $nazwa);
  4. $nazwa = strtolower($nazwa);
  5.  
  6. $katalog = $nazwa;
  7. $kat=opendir($katalog);
  8. $ile=0;
  9. while($plik=readdir($kat))
  10. {
  11. $ile++;
  12. }
  13. $ileplikow = $ile - 2;


W nazwie, jest już zawarta poprawna scieżka do katalogu.
Skrypt, wykonuje się i zlicza ilość plików. (wybadałem echo)
Reszta kodu, pod tym skryptem, także robi to co powinna.

A jednak. "return", który jest na końcu funkcji i który ma zwrócić do zewnętrznego skryptu pewne wartości nie zwraca ich. Dopiero gdy usunę powyższy kod, lub dam return przed ten kod - return zwraca wartość. Proszę o pomoc!
thek
A próbowałeś
return $ile-2;
zamiast
return $ileplików;
?
thomson89
Nie zwracam akurat tej wartości.

Dalej w kodzie pobieram plik html który odpowiednio modyfikuje. Potrzebuje do tego m.in dane z bazy, dane z kilku katalogów. I według pobranych najpierw danych, modyfikuje ten plik (str_replace) według znaczników które ma w sobie i taki plik zwracam.

Dodałem closedir, ale to nie załatwia problemu. Problem występuje z funkcją readdir() w pętli.
  1. while($plik=readdir($kat))
  2. {
  3. $ile++;
  4. }

Sprawdziłem również, że pętla jest skończona.

Co takiego ma funkcja readdir co wpływa na mój skrypt?
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.