Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ilosc plikow w katalogu
Vocatio
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 1.09.2002
Skąd: Kluczbork

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


Witam
czy jest komenda, ktora mi zwroci ilosc plikow w katalogu?
W manualu nie moge nic takiego odnalezc. Jesli nie, to jak proponujecie zorganizowac sprawdzenie tegoz?
Pozdrawiam
Wojtek B
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
afrodyzjak
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.11.2004

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


  1. <?php
  2.  
  3. $sciezka = &#092;"./\";
  4.  
  5. $katalog = opendir($sciezka);
  6. while ($plik = readdir($katalog)) {
  7. if (($plik<>&#092;".\")&&($plik<>\"..\")&&(!is_dir($sciezka.$plik))) {
  8. $i++;
  9. }
  10. }
  11. closedir($katalog);
  12.  
  13. echo &#092;"W katalogu jest $i plików\";
  14.  
  15. ?>


W zmiennej $sciezka podana jest ścieżka do katalogu w którym, skrypt ma
policzyć ile jest plików.

Następnie skrypt pobiera zawartość katalogu i sprawdza czy dany "element"
nie jest katalogiem. Jeżeli warunek zwróci wartość true (prawda) to dodaje
do zmiennej $i 1. $i pełni funkcję licznika plików.
Go to the top of the page
+Quote Post
Vocatio
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 1.09.2002
Skąd: Kluczbork

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


Wielkie dzieki.
To jest wlasnie ten efekt o ktory mi chodzilo - pozdrawiam
Go to the top of the page
+Quote Post
shreker
post
Post #4





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


A jak policzyć pliki tylko o określonym rozszerzeniu np "jpg"?
Go to the top of the page
+Quote Post
Ociu
post
Post #5





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




glob" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
_bolek_
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.07.2008

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


Cytat(shreker @ 13.07.2008, 00:13:15 ) *
A jak policzyć pliki tylko o określonym rozszerzeniu np "jpg"?




dodaj eregi ktore sprawdzi poprzez wyrazenie regularne i jesli bedzie true to doda 1 do $i jesli nie to pominie. 


a jesli cos naprawde malo skomplikowanego to polecam:

  1. <?php
  2. echo count(glob("*.jpg"));
  3. ?>
Go to the top of the page
+Quote Post
M@X
post
Post #7





Grupa: Zarejestrowani
Postów: 212
Pomógł: 0
Dołączył: 18.12.2003
Skąd: Warszawa

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


ten kod zlicza pliki w danym katalogu, ale jak w katalogu jest jeszcze jakis katalog to juz ich nie zlicza... w jaki sposób przerobić to aby zliczał również pliki w podkatalogach ?


--------------------
"timeo danaos at dona ferentes"
Go to the top of the page
+Quote Post
krispak
post
Post #8





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Chociazby tak.. leci przez wszystkie podkatalogi.
  1. $iterator = new RecursiveDirectoryIterator("sciezka katalogu");
  2. $count = 0;
  3. foreach (new RecursiveIteratorIterator($iterator) as $filename=>$fileInfo)
  4. {
  5. if($fileInfo->isFile() && strtolower(pathinfo($fileInfo->getFilename(), PATHINFO_EXTENSION)) == "jpg")
  6. {
  7. $count++;
  8. }
  9. }
  10.  
  11. echo "W katalogu i podkatalogach jest $count plików jpg";


@Edit: Crozin dzieki za przypomnienie o pathinfo na szybko zapomnialem o tym smile.gif // poprawione tongue.gif

Ten post edytował krispak 25.08.2010, 20:16:12


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
Crozin
post
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@up: sprawdzenie rozszerzenia:
  1. if (.... && strtolower(pathinfo($file->getFilename(), PATHINFO_EXTENSION)) == 'jpg' ) {
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 12:54