readdir

(PHP 4, PHP 5, PHP 7)

readdirLee una entrada desde un gestor de directorio

Descripción

readdir ([ resource $dir_handle ] ) : string

Devuelve el nombre de la siguiente entrada del directorio. Las entradas son devueltas en el orden en que fueron almacenadas por el sistema de ficheros.

Parámetros

gestor_dir

El gestor de directorio resource previamente abierto por opendir(). Si el gestor de directorio no se especifica, la ultima conexión abierta por opendir() es asumida.

Valores devueltos

Retorna el nombre de la entrada en caso de éxito o FALSE en caso de error.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

Ejemplos

Ejemplo #1 Listar todas las entradas de un directorio

Por favor observe que la forma en que el valor de retorno de readdir() es chequeado en los siguientes ejemplos. Se está probando explícitamente si el valor de retorno es idéntico (igual y del mismo tipo, vea los Operadores de Comparación para más información) a FALSE ya que de otra forma, cualquier entrada de directorio cuyo nombre evalúe a FALSE detendrá el ciclo (p.ej. un directorio llamado "0").

<?php
 
if ($gestor opendir('/path/to/files')) {
    echo 
"Gestor de directorio: $gestor\n";
    echo 
"Entradas:\n";
 
    
/* Esta es la forma correcta de iterar sobre el directorio. */
    
while (false !== ($entrada readdir($gestor))) {
        echo 
"$entrada\n";
    }
 
    
/* Esta es la forma errónea de iterar sobre el directorio. */
    
while ($entrada readdir($gestor)) {
        echo 
"$entrada\n";
    }
 
    
closedir($gestor);
}
?>

Ejemplo #2 Listar todas las entradas del directorio actual y descartar . y ..

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

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • glob() - Buscar coincidencias de nombres de ruta con un patrón
  • opendir() - Abre un gestor de directorio
  • scandir() - Enumera los ficheros y directorios ubicados en la ruta especificada