readdir

(PHP 3, PHP 4 )

readdir -- ler 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 ã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").

Exemplo 1. Lista todos os arquivos em um diretório

// Note que !== não existia antes do PHP 4.0.0-RC2
<?php
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:

Exemplo 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().