Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Struktura katalogów
Forum PHP.pl > Forum > Przedszkole
piotrooo89
chciałbym otrzymać strukturę katalogów na serwerze nie bardzo wiem jak za to się zabrać... próbowałem scandire'em ale coś szwankuje.
Maxik
Zdefiniuj szwankuje winksmiley.jpg
marcio
Chodzi ci o cos w stylu drzewka? Jesli tak to polecam:
http://mintajax.pl/Przewodnik/Kontrolki/ albo klase Nospor'a: http://nospor.pl/tree-pytania-n5.html gdzies na stronie byl nawet przyklad jak to wyglada.

A jesli chcesz normalna strukture katalogow to zalezy czy chcesz pliki i podkatalogi danego katalogu lub pliki i podkatalogi + pliki i podkatalogi podkatalogow danego katalogu , hehe troche zamotalem?
piotrooo89
wszystko ok. chciałbym otrzymać tylko nazwy katalogów np. w formie tablicy z której bym sobie pobierał dane... bo na upartego mogę to jeszcze w bazie zrobić bo jest mi to potrzebne do galerii. tylko po prostu zastanawiam się czy istnieje jakaś inna możliwość oprócz bazy. a scandir pobiera wszystko łącznie z plikami mnie natomiast potrzebne są tylko katalogi a po wywołaniu scandir'a wywala mi błąd: Call to undefined function: scandir()
Maxik
Masz błąd bo scandir jest tylko w PHP5.

  1. <?php
  2. $dir = "katalog";
  3. while (($file = readdir($dir)) !== false) {
  4.            if(($file != ".") && ($file != "..")){
  5.                    if(is_dir($dir."/".$file)){
  6.                        echo $file."<br>";
  7.                    }
  8.        }
  9. ?>


Pisane z palca, ale powinno działać.
piotrooo89
dostałem warninga:
Warning: readdir(): supplied argument is not a valid Directory resource

ogólne założenie jest takie że mam katalog images w którym mam katalogi (nazwa katalogu to data jakiegoś wydarzenia w formie 2008-11-01) i teraz chce przelecieć po całym images i otrzymać nazwy wszystkich katalogów.
pyro
Moze to o to chodzilo:

  1. <?php
  2.  
  3. $dirs_in_images = array();
  4.  
  5. foreach(glob('images/*') as $one)
  6. {
  7. if(is_dir($one) && $one != '.' && $one != '..')
  8. {
  9. $dirs_in_images[] = $one;
  10. }
  11. }
  12.  
  13. // print_r($dirs_in_images);
  14.  
  15. ?>
piotrooo89
dokładnie... dzięki pyro teraz muszę jakoś wykombinować żeby nie było images/data tylko sama data ale dzięki
Ociu
dry.gif
Przyszedłeś po gotowy kod ?
scandir" title="Zobacz w manualu PHP" target="_manual, glob" title="Zobacz w manualu PHP" target="_manual(+GLOB_ONLYDIR), RecursiveDirectoryIterator.

Edit: Spóźniłem się...
pyro
Cytat(piotrooo89 @ 2.11.2008, 00:44:45 ) *
dokładnie... dzięki pyro teraz muszę jakoś wykombinować żeby nie było images/data tylko sama data ale dzięki


to tez raczej nie wymaga duzo roboty ;/

wystarczylo tylko dodac substr();

gotowiec tongue.gif:

  1. <?php
  2.  
  3. $dirs_in_images = array();
  4.  
  5. foreach(glob('images/*') as $one)
  6. {
  7. if(is_dir($one) && $one != '.' && $one != '..')
  8. {
  9. $dirs_in_images[] = substr($one, 7);
  10. }
  11. }
  12.  
  13. // print_r($dirs_in_images);
  14.  
  15. ?>
piotrooo89
zrobiłem tak samo ale dzięki
marcio
Po co substr() nie lepiej explode() bedzie to bardziej uniwersalne?
pyro
Cytat(marcio @ 2.11.2008, 01:17:30 ) *
Po co substr() nie lepiej explode() bedzie to bardziej uniwersalne?


marcio, autor podal konkretną sytuację do ktorej potrzebuje skryptu, oczywiscie mozna uzyc explode(), jak ktos bedzie potrzebowal to se przerobi smile.gif
marcio
Spoko tylko tak powiedzialem biggrin.gif
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.