opendir

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

opendirAbrir un manejador de directorio

Descripción

opendir(string $directory, ?resource $context = null): resource|false

Abre un manejador de directorio para ser utilizado en llamadas posteriores a closedir(), readdir() y rewinddir().

Parámetros

directory
La ruta del directorio a abrir.
context
Para una descripción del parámetro context, consulte la sección de flujos del manual.

Valores devueltos

Devuelve un manejador de directorio en caso de éxito, o false si ocurre un error

Errores/Excepciones

En caso de fallo, se emitirá una advertencia de tipo E_WARNING.

Esto puede ocurrir si directory no es un directorio válido, el directorio no puede abrirse debido a restricciones de permisos, o debido a errores del sistema de archivos.

Historial de cambios

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

Ejemplos

Ejemplo #1 Listar todas las entradas en un directorio, omitiendo los directorios especiales . y ..

Dado que los nombres de archivos y directorios pueden ser strings que PHP considera "falsos" (por ejemplo, un directorio llamado "0") y readdir() devuelve false cuando ha leído todas las entradas en un directorio, se necesita usar el operador de === comparación para distinguir correctamente entre una entrada de directorio cuyo nombre es "falso" y haber leído todas las entradas del directorio.

<?php

if ($handle = opendir('/path/to/files')) {
echo
"Entradas:\n";

/* Manejo correcto de las entradas de directorio que pueden ser consideradas falsas */
while (false !== ($entry = readdir($handle))) {
if (
$entry === '.' || $entry === '..') {
continue;
}
echo
"$entry\n";
}

closedir($handle);
}
?>

Resultado del ejemplo anterior es similar a:

Entradas:
base
en
fr
output.md
test.php

Ver también

  • readdir() - Leer entrada desde el manejador de directorio
  • rewinddir() - Reinicia el gestor de directorio
  • closedir() - Cerrar el gestor de directorio
  • dir() - Devuelve una instancia de la clase Directory
  • is_dir() - Indica si el fichero es un directorio
  • glob() - Búsqueda de rutas que coinciden con un patrón
  • scandir() - Lista los ficheros y directorios en un directorio