Como Listar todos os arquivos de uma pasta ou diretório com script PHP

Já precisou Listar todos os arquivos de uma pasta ou diretório com script PHP? Senão, veja neste artigo como é simples efetuar esta tarefa. Mas para que listar todos os arquivos de um diretório? Ora, você pode precisar auto cadastrar todos os arquivos ou executar uma dada tarefa com todos eles separadamente. Os objetivos finais podem ser vários, então não convém discutirmos aqui sobre isso.

Vamos ao que interessa…

Como Listar todos os arquivos de uma pasta ou diretório com script PHP

Veja o código abaixo, comento depois:

1
2
3
4
5
6
7
8
9
if ($handle = opendir('diretorio-aqui')) {
 
   while ($entry = readdir($handle)) {
        echo "$entry\n";
    }
 
    closedir($handle);
 
}
if ($handle = opendir('diretorio-aqui')) {

   while ($entry = readdir($handle)) {
        echo "$entry\n";
    }

    closedir($handle);

}

Amigo(a), você deve substituir diretorio-aqui pelo nome da pasta a qual você quer listar todos os arquivos que nela existem, okay?! Veja só aqui, só fiz um echo no nome do arquivo, mas você, uma vez que sabe o nome do arquivo, poderia executar o comando que bem desejasse nele.

Fazendo do jeito acima, você notará que haverá um arquivo “..”, mas isso é na verdade um atalho para retornar ao diretório anterior. Para evitar que “..” sejam listados, use o código abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
if ($handle = opendir('diretorio-aqui')) {
 
    while (false !== ($entry = readdir($handle))) {
    
        if(empty($entry) || $entry == '..' || $entry == '.') continue;
    
        echo "$entry<br>";
    
    }
 
    closedir($handle);
 
}
if ($handle = opendir('diretorio-aqui')) {

    while (false !== ($entry = readdir($handle))) {
	
        if(empty($entry) || $entry == '..' || $entry == '.') continue;
	
        echo "$entry<br>";
	
    }

    closedir($handle);

}

Neste novo código, antes de executar algo com o arquivo, é verificado se ele é o tal atalho “..” ou mesmo “.” e, em caso positivo, o mesmo é desconsiderado.

Pegando o caminho (path) completo do arquivo

Para montar o caminho completo de um arquivo, você pode fazer assim:

1
$full_path = dirname(__FILE__).'/diretorio-aqui/'.$entry;
$full_path = dirname(__FILE__).'/diretorio-aqui/'.$entry;

Perceba que você deve substituir diretorio-aqui pelo nome do diretório o qual você listou os arquivos. Perceba também que $entry é o nome do arquivo que você obteve no código do início deste artigo.

Fazendo assim, você obterá o caminho completo dos arquivos, podendo executar qualquer comando com os ficheiros. Fácil, né pessoal?

Fica aí a dica, até o próximo post aqui no blog Fazer Site.

Como Listar todos os arquivos de uma pasta ou diretório com script PHP
4.8 (96.84%) 19 votes

Leave a Reply