Pular para o conteúdo principal

Listar arquivos de um diretório


Se não houver um motivo muito claro pra usar opendir, readdir e closedir (não consigo pensar em nenhum), a forma mais prática de listar o conteúdo de um diretório é com DirectoryIterator:
1
2
3
4
5
6
$iterator = new DirectoryIterator('/var/www');
  
foreach ( $iterator as $entry ) {
    echo $entry->getFilename(), "
";
}

Se for necessário listar os arquivos recursivamente, percorrendo todos os subdiretórios, é só usar o RecursiveDirectoryIterator junto com o RecursiveIteratorIterator:
1
2
3
4
5
6
7
$iterator = new RecursiveDirectoryIterator('/var/www');
$recursiveIterator = new RecursiveIteratorIterator($iterator);
  
foreach ( $recursiveIterator as $entry ) {
    echo $entry->getFilename(), "
";
}
Com um pouco de criatividade, é possível estender essas classes com qualquer lógica facilmente, como por exemplo, para montar uma árvore com a estrutura dos diretórios.
Fonte: http://www.phpit.com.br/artigos/7-coisas-simples-em-php-que-alguns-ainda-complicam.phpit

Comentários

Postar um comentário