Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eclesiastes

[Resolvido] Classe treeDir

Recommended Posts

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. =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.