Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyświetlanie plików z katalogu i podkatalogów
gromiz
post 26.02.2016, 12:53:17
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.01.2012

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


Cześć

Napisałem kod, którego zadaniem jest wyświetlenie z danego katalogu oraz podkatalogów wszystkich plików. Kod wygląda tak:

  1. function wyswietl($nazwa_katalogu)
  2. {
  3. $katalog= $nazwa_katalogu;
  4. $dir = opendir($katalog);
  5.  
  6. while(false !== ($file = readdir($dir)))
  7. {
  8. if($file != '.' && $file != '..')
  9. {
  10. if(is_dir($file))
  11. wyswietl($nazwa_katalogu . '/' . $file);
  12. else
  13. echo $nazwa_katalogu . '/' . $file . '<br />';
  14. }
  15. }
  16. }
  17.  
  18. wyswietl("/var/www");


Problem jest taki, że po pierwsze ten kod nie wyświetla wszystkiego, a po drugie podczas wyświetlania pokazuje nazwy katalogów, a powinien teoretycznie same pliki. Dlaczego tak się dzieje?

Pozdrawiam
Go to the top of the page
+Quote Post
Pyton_000
post 26.02.2016, 12:55:18
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Bo w echo masz wstwioną nazwę katalogu wink.gif

Użyj tego:
http://php.net/manual/en/class.recursivedi...rator.php#92233
Go to the top of the page
+Quote Post
lukaskolista
post 26.02.2016, 13:59:11
Post #3





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


To ja dodam, że aby RecursiveDirectoryIterator działał poprawnie (rekursywnie), należy go udekorować obiektem klasy RecursiveIteratorIterator.
Go to the top of the page
+Quote Post
Pyton_000
post 26.02.2016, 14:14:50
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Przecież w przykładzie który podałem jest wink.gif
Go to the top of the page
+Quote Post
gromiz
post 26.02.2016, 14:31:52
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.01.2012

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


Wyrzucenie w echo nazwy katalogu nic nie pomogło i dalej wyświetla nazwy katalogów, a nie powinno, bo jest warunek, który sprawdza czy dana ścieżka jest plikiem czy katalogiem.

Ogólnie nie ważne :-), bo pomogło to co dałeś w linku. Działa szybko i elegancko. Dzięki wielkie :-).
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: 12.07.2025 - 22:45