Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php RecursiveDirectoryIterator
gawar
post 27.05.2020, 13:35:25
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Witam, Mam jeden katalog główny w którym znajduje się n innych katalogów a w każdym z tych katalogów n plików.
Chciałbym wyświetlić tylko te katalogi, które zawierają więcej niż 2 pliki.
Na chwilę obecną udało mi się wyświetlić wszytko, nie wiem jak odfiltrować tylko te katalogi które zawierają więcej niż 2 pliki?
  1. <?php
  2. $tab = array();
  3. $katalog_foto = new RecursiveDirectoryIterator('foto/');
  4. foreach (new RecursiveIteratorIterator ($katalog_foto) as $file) {
  5. if ($file->isDir()) continue;
  6. $sciezka = $file->getPathname();
  7. $tab[] =$sciezka ;
  8. }
  9. sort($tab, SORT_NATURAL | SORT_FLAG_CASE);
  10. foreach ($tab as $file2){
  11. echo "$file2 <br />";
  12. }
  13. ?>
Go to the top of the page
+Quote Post
netir
post 27.05.2020, 18:16:03
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 5
Dołączył: 20.05.2019

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


https://www.php.net/manual/en/function.scandir.php

count i if
Go to the top of the page
+Quote Post
viking
post 27.05.2020, 19:16:49
Post #3





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


https://www.php.net/manual/en/function.iterator-count.php


--------------------
Go to the top of the page
+Quote Post
gawar
post 27.05.2020, 22:44:13
Post #4





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Może komuś się przyda w przyszłości.
  1. <?php
  2. $tab = array();
  3. $katalog_foto = new RecursiveDirectoryIterator('foto/');
  4. foreach (new RecursiveIteratorIterator ($katalog_foto) as $file) {
  5. if ($file->isDir()) continue;
  6. $sciezka = $file->getPath();
  7. $a=explode('\\', $sciezka);
  8.  
  9. $id_miejsce = $a[1];
  10. $tab[] =$id_miejsce ;
  11. }
  12. sort($tab, SORT_NATURAL | SORT_FLAG_CASE);
  13. $vals = array_count_values($tab);
  14.  
  15. foreach ($vals as $file2=>$wartosc){
  16. if ($wartosc>2) {
  17. echo "Katalog $file2 posiada $wartosc zdjęć<br />";
  18. }
  19. }
  20. ?>
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 Wersja Lo-Fi Aktualny czas: 18.04.2024 - 05:09