Renato Penna Posted February 13, 2012 Report Share Posted February 13, 2012 Estou tentando ler um sub-diretório e não consigo. Quando mando listar os arquivos, ele mostra os arquivos do diretório atual, mas não da sub-pasta. Segue o código abaixo:<?php $diretorio = getcwd()."/imagens_livros_novos"; $ponteiro = opendir($diretorio); while ($nome_itens = readdir($ponteiro)) { $itens[] = $nome_itens; } sort($itens); for($i=0;$i<count($itens);$i++) { echo $itens[$i]."<br>"; } ?>Desde já agradeço a ajuda. Quote Link to comment Share on other sites More sharing options...
0 Romero Dias Posted February 14, 2012 Report Share Posted February 14, 2012 (edited) Renato,Para ler todos os diretórios e sub-diretórios você precisa implementar um método recursivo.Alterei seu código e criei uma função para realizar a tarefa.<?php function lerDiretorio($diretorio = null) { if(!$diretorio) return; $ponteiro = opendir($diretorio); while ($nome_itens = readdir($ponteiro)) { if($nome_itens != '.' && $nome_itens != '..') { $dir = $diretorio . '/' . $nome_itens; if(is_dir($dir)) { echo str_repeat('- ',substr_count($dir,'/')). '<b>Diretório ->' . $dir . '</b><br/>'; lerDiretorio($dir); } else { echo str_repeat('- ',substr_count($dir,'/')) . $nome_itens."<br>"; } } } } // Executa a leitura de um diretório e todos os seus sub-diretórios // Aqui você passa o caminho absoluto do diretório a ser lido lerDiretorio(dirname(__FILE__)); Edited February 14, 2012 by Romero Dias Quote Link to comment Share on other sites More sharing options...
Question
Renato Penna
Estou tentando ler um sub-diretório e não consigo. Quando mando listar os arquivos, ele mostra os arquivos do diretório atual, mas não da sub-pasta. Segue o código abaixo:
Desde já agradeço a ajuda.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.