Forum und email

readdir

(PHP 4, PHP 5)

readdir — Leer una entrada desde un gestor de directorio

Descripción

string readdir ( resource $gestor_dir )

Devuelve el nombre del siguiente archivo leido desde el directorio. Los nombres de archivo son devueltos en el orden en que son almacenados por el sistema de archivos.

Lista de parámetros

gestor_dir

El gestor de directorio tipo resource abierto previamente con opendir().

Valores retornados

Devuelve el nombre de archivo en caso de éxito, o FALSE si ocurre un error.

Warning

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ejemplos

Example#1 Listar todos los archivos en un directorio

Por favor note la forma en que el valor de retorno de dir() es chequeado en los siguientes ejemplos. Se está probando explícitamente si el valor de retorno es idéntico (igual y del mismo tipo que--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
// Note que !== no existía hasta 4.0.0-RC2

if ($gestor opendir('/ruta/a/archivos')) {
    echo 
"Gestor de directorio: $gestor\n";
    echo 
"Archivos:\n";

    
/* Esta es la forma correcto de iterar sobre el directorio. */
    
while (false !== ($archivo readdir($gestor))) {
        echo 
"$archivo\n";
    }

    
/* Esta es la forma EQUIVOCADA de iterar sobre el directorio. */
    
while ($archivo readdir($gestor)) {
        echo 
"$archivo\n";
    }

    
closedir($gestor);
}
?>

Example#2 Listar todos los archivos en el directorio actual y eliminar . y ..

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

Ver también