Načítanie stromu súborov a priečinkov na serveri (PHP)

Programovacie jazyky, rady, poradňa...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Načítanie stromu súborov a priečinkov na serveri (PHP)

Príspevok od používateľa geoge046 »

Zdravíčko,

akurát rozmýšlam, ako čo najlepšie zefektívniť načítanie všetkých súborov a priečinkov na serveri, lebo ja to riešim do určitej hĺbky prienčikov, pomocou čoho by sa dalo naprogramovať neobmedzené hĺbou načítanie súborov a priečinkov?

Za odpoveď vopred ďakujem!

Ukážka časti môjho komplikovaného kódu:

Kód: Vybrať všetko

// 1.uroven
if ($handle = scandir($dir)) {
 for ($i=0;$i<count($handle);$i++) {
  if(!empty($handle[$i]) && !in_array($handle[$i], $no_files)) {
   if(is_dir($dir.$handle[$i])) { 
    $output .=  "{".($word[$count])."_DIR_".SafeProm($handle[$i])."}#".$br;
				
     // 2.uroven
     if ($handle_ = scandir($dir.$handle[$i]."/")) {
      $count_ = 0;
      for ($i_=0;$i_<count($handle_);$i_++) {
       if(!empty($handle[$i_]) && !in_array($handle[$i_], $no_files)) {
        if(is_dir($dir.$handle[$i]."/".$handle_[$i_])) { 
         $output .=  "{".($word[$count].$count_)."_DIR_".SafeProm($handle_[$i_])."}#".$br;
$count_++;
       } else {
        $output .=  "{".($word[$count])."_".SafeProm(GetObsah($handle[$i]."/".$handle_[$i_]))."_".SafeProm($handle_[$i_])."}#".$br;
       }
      }
     }
    }		
    $count++;
   } else {
    $output .=  "{_".SafeProm(GetObsah($handle[$i]))."_".SafeProm($handle[$i])."}#".$br;
   }
  }
 }
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

rekurziou
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Príspevok od používateľa awtt »

použi hotovu triedu directory iterator

http://php.net/manual/en/class.directoryiterator.php
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

a ako by to vyzeralo po aplikovaní rekurzie? neviem si to ešte predstaviť pretože s faktoriálom ešte moc skúseností nemám
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

a čo má rekurzia s faktorialom? :)

Kód: Vybrať všetko

function vypis($adresar){
if ($handle = scandir($adresar)) {
 for ($i=0;$i<count($handle);$i++) {
  if(!empty($handle[$i]) && !in_array($handle[$i], $no_files)) {
   if(is_dir($dir.$handle[$i])) {
    $output .= "{".($word[$count])."_DIR_".SafeProm($handle[$i])."}#".$br; 
    vypis($dir.$handle[$i]));
    }
  }
}

}
je to iba z hlavy, lebo nemám čas. Keď sa vrátim zo školy tak to opravím ak nefunguje.

Bolo by ale treba vidieť tvoje GetObsah čo vlastne robia
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

jasnéé, že ma to nenapadlo aj hentak použiť, dík
PS: s faktorialom som si to spojil podľa rekurzie na wikipédií
Napísať odpoveď