Independente da missão de nossa saga, seja esta de alegria ou desgraça, o Brasil tem que ser defendido!
        09
        07

        Varrendo diretórios e arquivos com PHP

        Vou mostrar neste post como obter toda a estrutura de árvore de diretórios e consequentemente exibir os arquivos de cada diretório!
         
        Hoje estava finalizando o sistema de segurança de missão crítica, e precisei varrer diretórios e arquivos, e lembrei de um amigo que está montando um site onde ele faz essa rotina via JavaScript, enquanto o projeto dele tiver em localhost vai funcionar, mas assim que ele disponibilizar o site online a arquitetura vai rachar...
         
         
        E no PHP é tão fácil fazer isso, então vamos para o código :
         
        Repare que utilizo de recursão para varrer os subdiretórios.
         
         
                                $_SESSION['diretorios'] = array();  // sessão que armazenará os diretórios e sub-diretórios obtidos
                                $_SESSION['diretorios_public'][] = "../public/"; o primeiro indice é do diretório corrente
                                function acessaDiretorio($diretorio){


                                            foreach (glob($diretorio."/",GLOB_ONLYDIR) as $dir) {   //faz o loop por todo o diretório corrente

                                                   
                                                        $_SESSION['diretorios'][] = $dir."/";  // acrescenta mais um diretório ao vetor
                                                        if(is_dir($dir)){  // se  o valor for um diretório então chamo pela função de forma recursiva

                                                            acessaDiretorio($dir);
                                                        }
                                                 
                                            }


                                }
                                acessaDiretorio("../public");   //chamada a função
         
         
         
        Agora eu vou buscar pelos arquivos dos diretórios obtidos
         
         
         
         
                                $vetor_arquivos = array();  // vetor que vai armazenar os arquivos
                                foreach($_SESSION['diretorios'] as $dire){


                                                   $diret=dir($dire);   //abre o diretório
                                              
                                                   if($diret){   // se for diretório

                                                        while ($arquivo = $diret->read()){   // loop para ler os

                                                               $vetor_arquivos[] = $dire.$arquivo; // armazena o nome do arquivo assim como o diretório ao qual ele pertence


                                                         }
                                                         $diret->close();  // fecha a leitura do diretório

                                                   }

                                }
         
         
         
        Agora faço um loop simples para mostrar os arquivos obtidos em conjunto com seus diretórios
         
         
         
        foreach($vetor_arquivos as $arquivo){
         
                  echo $arquivo."<br>";
         
        }

        Comentários

        Tipo de Posts
        Parceiros
        Feed

        Entre com o seu e-mail:

        Sobre

        Rafael Nonato Ribeiro Ferreira, graduado em Análise e Desenvolvimento de Sistemas pela Uninove, programador nas linguagens PHP, JavaScript, JQuery e Java, desenvolvedor web HTML e CSS desenvolve e modela em SGBDs Mysql, PostGreSQL e Oracle, atualmente trabalha como Analista e Desenvolvedor de Sistemas, é um brasileiro, cristão, patriota filiado ao PSOL e com convicções politicas próprias conforme será mostrado em seu futuro site www.constituicaoproposta.com.br, nas horas de folga gosta de tocar seu violão e compor letras de múisca, Torço para o São Paulo e para a Portela.

        © Copyright 2012 NRF Informática Soluções. All Rights Reserved.