readdir

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

readdirLee una entrada del directorio

Descripción

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

readdir() devuelve el nombre de la próxima entrada del directorio identificado por dir_handle. Las entradas se devuelven en el orden en que están registradas en el sistema de archivos.

Parámetros

dir_handle

El recurso de directorio abierto previamente con opendir(). Si el recurso de directorio no está especificado, se utilizará el último recurso abierto con la función opendir().

Valores devueltos

Devuelve 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.

Historial de cambios

Versión Descripción
8.0.0 dir_handle ahora es nullable.

Ejemplos

Ejemplo #1 Lista de todas las entradas de un directorio

Observe cómo se verifica el valor de retorno de dir() en el siguiente ejemplo. Se comprueba si el valor es idéntico (igual y del mismo tipo -- véase operadores de comparación para más detalles) false de lo contrario, cualquier entrada en el nombre se evaluaría como false causaría el fin del ciclo (ejemplo, un directorio llamado 0).

<?php

if ($handle = opendir('/ruta/al/directorio')) {
echo
"Controlador del directorio: $handle\n";
echo
"Entradas:\n";

/* Esta es la forma correcta de recorrer un directorio. */
while (false !== ($entry = readdir($handle))) {
echo
"$entry\n";
}

/* Esta es la FORMA INCORRECTA de recorrer un directorio. */
while ($entry = readdir($handle)) {
echo
"$entry\n";
}

closedir($handle);
}
?>

Ejemplo #2 Lista todas las entradas del directorio actual y elimina los . y ..

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

Ver también

  • is_dir() - Indica si el fichero es un directorio
  • glob() - Búsqueda de rutas que coinciden con un patrón
  • opendir() - Abre un directorio y recupera un puntero sobre él
  • scandir() - Lista los ficheros y directorios en un directorio