segunda-feira, 28 de novembro de 2011

(PHP) Leitura de Pastas

Sem nada para fazer (típico) Resolvi criar uma função para listar pastas, arquivos ou ambos em uma determinada pasta. Seu uso é simples com apenas dois parâmetros (pasta para ler, exceção da leitura)


Segue a função:
function readDirectory($pasta, $tipo)
{
$ponteiro = opendir($pasta);

while ($arquivo = readdir($ponteiro))
{
if("." != $arquivo && ".." != $arquivo) {
if(is_dir($arquivo)) {
$pastas[] = $arquivo;
}
else {
$arquivos[] = $arquivo;
}
$ambos[] = $arquivo;
}
}
return !$tipo ? $pastas : $tipo == 1 ? $arquivos : $ambos;
}

O Uso da mesma funciona da seguinte maneira.
readDirectory("pasta para ler", 0); // ler apenas pastas
readDirectory("pasta para ler", 1); // ler apenas arquivos
readDirectory("pasta para ler", 2); // ler pastas e arquivos

O número 0 indica que é apenas para ler pastas. O número 1 indica que é apenas para ler arquivos. O número 2 indica que pode ler tudo

Aqui um exemplo mais prático:
$pastas = readDirectory(getcwd(), 0); // 0 = ler apenas pastas
if($pastas) {
foreach($pastas as $item) {
echo "\n Encontrei a Pasta: " . $item;
}
}

Nota: getcwd() é uma função que pega o diretório atual da página php

Enfim. É isto galera. Espero que tenham gostado.

Função e Post Criados por Bruno da Silva


Nenhum comentário:

Postar um comentário