Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zliczanie katalogów w katalogu
Forum PHP.pl > Forum > PHP
dethim
Witam. Napisałem (opierając sie o manual) skrypt zliczajacy ilosc katalogow w katalogu. Przedstawia sie nastepujaco:
  1. <?php
  2.  
  3.  
  4. $licznik = 0;
  5. if ($handle = opendir('.')) {
  6. while (false !== ($entry = readdir($handle))) {
  7. if ($entry != "." && $entry != "..") {
  8.  
  9. if (is_dir($entry) == TRUE) { $licznik++; }
  10. else {
  11. // echo "$entry\n";
  12. }
  13. }
  14. }
  15. closedir($handle);
  16. }
  17.  
  18. echo $licznik;
  19. ?>


wszystko jest dobrze, jesli skrypt ma zliczyc ilosc katalogów w katalogu w którem sie wlasnie znajduje. Wtedy skrypt dziala ok, natomiast jesli podaje sciazke np
  1. if ($handle = opendir('folder1')) {
wtedy skrypt wyswietla nie poprawną ilosc. Gdzie moze byc blad ? Dałem skryptowi atrybyty chmod 777 ale dalej nic...
Michael2318
Spróbuj tego:
  1. <?php
  2. $yourStartingPath = "path/";
  3. $iterator = new RecursiveIteratorIterator(
  4. new RecursiveDirectoryIterator($yourStartingPath),
  5. RecursiveIteratorIterator::SELF_FIRST);
  6. $counter = 0;
  7. foreach($iterator as $file)
  8. {
  9. if($file->isDir())
  10. {
  11. $counter++;
  12. }
  13. }
  14. echo 'Folderów w '.$yourStartingPath.': '.$counter;
  15. ?>


Pamiętaj tylko że wszystko jest zależne gdzie ustawisz plik zliczający. Jeśli przykładowo schemat będzie taki:
Cytat
[FOLDER1]
___[FOLDER2]
______[FOLDER3]
______Liczymy.php (plik zliczający)


I będziesz chciał sobie zliczyć w Liczymy.php liczbę folderów, które znajdują się w folder1 to musisz w $yourStartingPath odpowiednio cofnąć się pierw do roota, czyli ../
dethim
bede się poruszał w "przód". Dzieki skrypt działa dobrze
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.