PHP - rekurzívna cesta k adresárom

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
parka7
nováček
Příspěvky: 31
Registrován: 28 zář 2011 19:15

PHP - rekurzívna cesta k adresárom

Příspěvek od parka7 »

Zdravím, našiel som si príklad na zobrazenie stromoveho zoznamu všetkých súborov pomocou jQuery na stránke http://ludo.cubicphuse.nl/jquery-treetable/, ibaže ten tam už má rovno vpísané tabuľky s imaginárnymi súbormi a zložkami, preto som chcel vyrobiť PHP kód, ktorý mi vie zistiť všetky súbory, zložky a podzložky so súbormi, a zároveň by mi vykresloval tabuľku. Skript mi funguje, ale mám problém ho zakomponovať, pretože ho musím mať v takom tvare, aby mi vykreslilo riadky v tabuľke nasledovne:
Abbc3 Spoiler Show


Skript ktorý mi zisťuje všetky (pod)súbory a (pod)adresáre:

Kód: Vybrat vše

function directoryToArray($directory, $recursive = true, $listDirs = false, $listFiles = true, $exclude = '') {
            $arrayItems = array();
            $skipByExclude = false;
            $handle = opendir($directory);
            if ($handle) {
               while (false !== ($file = readdir($handle))) {
               preg_match("/(^(([\.]){1,2})$|(\.(svn|git|md))|(Thumbs\.db|\.DS_STORE))$/iu", $file, $skip);
               if($exclude){
                  preg_match($exclude, $file, $skipByExclude);
               }
               if (!$skip && !$skipByExclude) {
                  if (is_dir($directory. DIRECTORY_SEPARATOR . $file)) {
                     if($recursive) {
                        $arrayItems = array_merge($arrayItems, (array)($directory . DIRECTORY_SEPARATOR . $file));
                        $arrayItems = array_merge($arrayItems, directoryToArray($directory. DIRECTORY_SEPARATOR . $file, $recursive, $listDirs, $listFiles, $exclude));
                     }
                     if($listDirs){
                        $file = $directory . DIRECTORY_SEPARATOR . $file;
                        $arrayItems[] = $file;
                     }
                  } else {
                     if($listFiles){
                        $file = $directory . DIRECTORY_SEPARATOR . $file;
                        $arrayItems[] = $file;
                     }
                  }
               }
            }
            closedir($handle);
            }
            return $arrayItems;
         }



Avšak už som to skúšal roznymi spôsobmi, neviem tak tie čísla dosadiť do poradia aby sa mi list so súbormi zobrazoval správne... Ak by mi vedel niekto pomôcť, bol by som mu vďačný...
Odpovědět

Zpět na „Programování a tvorba webu“