Listar directórios de um site recursivamente – php

Listar diretorios e subdiretorios de forma recursiva em php

Em primeiro lugar utilizamos a função getcwd()que devolve o directório onde nos encontramos. Isto quer dizer que se queremos percorrer todos os directórios temos de correr o programa na raiz do site, caso contrário, só percorremos o directório corrente e os seus filhos.

Depois, utilizamos a função opendir() que cria um apontador para um diretório e nos permite a sua manipulação posteriormente com a função  readdir(). Agora temos de testar cada item do diretórioe verificar se é um ficheiro ou diretório com a função is_dir().

Programa:

function le_dir($dir, $passo=0)
{
$dh = opendir($dir);
while (false !== ($file = readdir($dh))) // esta é a forma correta de varrer o diretório
{ // aqui devemos testar que tipo de arquivo temos

$ffile = $dir.'/'.$file;
if (is_dir($ffile))
{
if ($file != "." && $file != "..")
{
$xxx = (substr_count($ffile, '/')-4)*5;

echo ("
".str_repeat('.', $xxx).$ffile);
$passo = $passo+5;
le_dir($dir.'/'.$file, $passo) ;
}
}else
{
if (substr($file,-4) == ".php" )
{
echo ("
".str_repeat('.', $xxx)."Ficheiro:". $ffile);

}
}
}
}

$dir = getcwd();
le_dir($dir, $passo);

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *