Forum und email

readdir

(PHP 4, PHP 5)

readdir — Lê os campos do manipulador do diretório

Descrição

string readdir ( resource $dir_handle )

Retorna o nome de arquivo do próximo arquivo do diretório. Os nomes de arquivos são retornados na ordem informada pelo sistema de arquivos.

Verifique cuidadosamente o estilo de checagem dos valores retornados por readdir() nos exemplos abaixo. Nós explicitamente testamos se o valor retornado é idêntico a (igual e do mesmo tipo que FALSE --- veja Operadores de Comparação para maiores detalhes). De outra forma, qualquer entrada de diretório que seja avaliada para FALSE irá parar o loop (por exemplo, um diretório nomeado "0").

Example#1 Lista todos os arquivos em um diretório

<?php
// Note que !== não existia antes do PHP 4.0.0-RC2

if ($handle opendir('/path/to/files')) {
    echo 
"Manipulador de diretório: $handle\n";
    echo 
"Arquivos:\n";

    
/* Esta é a forma correta de varrer o diretório */
    
while (false !== ($file readdir($handle))) {
        echo 
"$file\n";
    }

    
/* Esta é a forma INCORRETA de varrer o diretório */
    
while ($file readdir($handle)) {
        echo 
"$file\n";
    }

    
closedir($handle);
}
?>

Note que readdir() irá retornar o . e .. . Se você não quer estes simplesmente os retire:

Example#2 Listar todos os arquivos no diretório atual e retirar . e ..

<?php
if ($handle opendir('.')) {
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != "..") {
            echo 
"$file\n";
        }
    }
    
closedir($handle);
}
?>

Veja também is_dir() e glob().