Renato Penna Postado Fevereiro 13, 2012 Denunciar Share Postado Fevereiro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romero Dias Postado Fevereiro 14, 2012 Denunciar Share Postado Fevereiro 14, 2012 (editado) 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__)); Editado Fevereiro 14, 2012 por Romero Dias Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.