Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Venho apresentar minha nova classe, que tem por função exibir uma árvore com o
caminho para todos os arquivos e pastas apartir de um caminho indicado.
• classTreeDir.php
<?/** * @ Classe: treeDir * - Retorna o nome de todos os arquivos e diretórios * apartir de um caminho indicado. * - Visualização de dois modos. (Array e/ou String) * * @ Programador: Felipe Nascimento S. Pena * @ Data: 15-06-2005 * * "Desvia os meus olhos de contemplarem a vaidade, * e vivifica-me no teu caminho." (Sl 119:37)**/class treeDir{ var $sDir; var $aConteudo = array(); function treeDir($Dir) { $this->sDir = $Dir; } function listArrConteudo($sDir) { foreach (glob("{$sDir}/*") as $sNome) { if (is_dir($sNome)) { $aConteudo[basename($sNome)] = $this->listArrConteudo($sNome); } else { $aConteudo[] = basename($sNome); } } asort($aConteudo); return $aConteudo; } function getArrConteudo( ) { foreach (glob("{$this->sDir}/*") as $sNome) { if (is_dir($sNome)) { $this->aConteudo[basename($sNome)] = $this->listArrConteudo($sNome); } else { $this->aConteudo[] = basename($sNome); } } asort($this->aConteudo); return $this->aConteudo; } function listStrConteudo($Array, $nCont=0) { foreach ($Array as $sDir => $sNome) { if (is_array($sNome)) { $str .= trim(str_repeat("| ", ++$nCont))."-+ {$sDir}\n"; $str .= $this->listStrConteudo($sNome, $nCont); $nCont--; } else { $str .= str_repeat("| ", $nCont)."|-+ {$sNome}\n"; } } return $str; } function getStrConteudo( ) { foreach ($this->aConteudo as $sDir => $sNome) { if (is_array($sNome)) { $str .= "+ {$sDir}\n".$this->listStrConteudo($sNome); } else { $str .= "|-+ {$sNome}\n"; } $str .= "\n"; } return $str; }}echo "<pre>";// Instanciando a classe$treeDir = new treeDir("./");// Exibindo como Array//print_r($treeDir->getArrConteudo());// Exibindo como String$treeDir->getArrConteudo();echo $treeDir->getStrConteudo();?>
Sugestões, são bem vindas. =)Carregando comentários...