readdir

(PHP 4, PHP 5, PHP 7, PHP 8)

readdirLê entrada do manipulador do diretório

Descrição

readdir(?resource $dir_handle = null): string|false

Retorna o nome da próxima entrada do diretório. As entradas são retornadas na ordem em que estão armazenadas no sistema de arquivos.

Parâmetros

dir_handle

O manipulador de diretório do tipo resource previamente aberto com opendir(). Se o manipulador de diretório não for especificado, o último manipulador aberto por opendir() será o assumido.

Valor Retornado

Retorna o nome do arquivo em caso de sucesso ou false em caso de falha.

Warning

Esta função pode retornar o valor booleano false, mas também pode retornar um valor não booleano que pode ser avaliado como false. Leia a seção sobre Booleanos para mais informações. Use o operador === para testar o valor retornado por esta função.

Registro de Alterações

Versão Descrição
8.0.0 dir_handle agora pode ser nulo.

Exemplos

Example #1 Listando todas as entradas de um diretório

Note a maneira com que o valor de retorno de readdir() é verificado nos exemplos abaixo. Está sendo explicitamente testado se o valor de retorno é idêntico a (igual e do mesmo tipo que--consulte Operadores de Comparação para maiores detalhes) false, caso contrário, qualquer entrada de diretório cujo nome seja interpretado como false irá parar o loop (por exemplo, um diretório com nome "0").

<?php

if ($handle = opendir('/caminho/para/arquivos')) {
    echo "Manipulador de diretório: $handle\n";
    echo "Arquivos:\n";

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

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

    closedir($handle);
}
?>

Example #2 Lista todas as entradas no diretório atual e remove . e ..

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

Veja Também

  • is_dir() - Diz se o caminho é um diretório
  • glob() - Acha caminhos que combinam com um padrão
  • opendir() - Abre um manipulador de diretório
  • scandir() - Lista arquivos e diretórios dentro do caminho especificado