Saltar al contenido

dir()

Introducción

PHP es un lenguaje de scripting del lado del servidor muy popular que se utiliza para crear páginas web dinámicas. Una de las funciones esenciales en PHP es la función dir(), que te permite manipular directorios y archivos en el servidor. En este artículo, exploraremos la función dir() junto con otras funciones de directorio en PHP y cómo utilizarlas para manipular directorios y archivos.

Comprender las funciones de directorio en PHP

PHP proporciona varias funciones integradas para la manipulación de directorios. Estas funciones te permiten crear, abrir, cerrar, leer, escribir y eliminar directorios y archivos. Algunas de las funciones de directorio más comunes en PHP son:

  • opendir() - Abre un identificador de directorio
  • readdir() - Lee un identificador de directorio
  • closedir() - Cierra un identificador de directorio
  • mkdir() - Crea un nuevo directorio
  • rmdir() - Elimina un directorio
  • scandir() - Lee el contenido de un directorio en un array

Uso de la función opendir()

La función opendir() se utiliza para abrir un identificador de directorio. Toma un único parámetro, que es el nombre del directorio que deseas abrir. Una vez abierto el directorio, puedes utilizar la función readdir() para leer su contenido.

Uso de la función readdir()

La función readdir() se utiliza para leer el contenido de un directorio. Toma un único parámetro, que es el identificador de directorio devuelto por la función opendir(). Esta función devuelve el nombre del siguiente archivo o directorio en el directorio. Puedes utilizar un bucle while para iterar sobre todos los archivos y directorios de un directorio.

Ejemplo de opendir() y readdir() en PHP

php
<?php

$dir = "/path/to/directory";
if (is_dir($dir)){
  if ($dh = opendir($dir)){
    while (($file = readdir($dh)) !== false){
      echo "filename:" . $file . "<br>";
    }
    closedir($dh);
  }
}

Uso de la función mkdir()

La función mkdir() se utiliza para crear un nuevo directorio. Toma dos parámetros: el primero es el nombre del directorio que deseas crear, y el segundo es un parámetro opcional que especifica los permisos para el nuevo directorio.

Uso de la función mkdir() en PHP

php
mkdir("/path/to/my/new/directory", 0755, true);

El segundo parámetro establece los permisos (por ejemplo, 0755), y el tercer parámetro opcional habilita la creación recursiva.

Uso de la función rmdir()

La función rmdir() se utiliza para eliminar un directorio. Toma un único parámetro, que es el nombre del directorio que deseas eliminar.

Uso de la función rmdir() en PHP

php
rmdir("/path/to/my/new/directory");

Nota: rmdir() solo elimina directorios vacíos. Los directorios que no están vacíos deben vaciarse primero.

Uso de la función scandir()

La función scandir() se utiliza para leer el contenido de un directorio en un array. Toma un único parámetro, que es el nombre del directorio que deseas leer. Esta función devuelve un array con los nombres de archivos y directorios en el directorio especificado.

Uso de la función scandir() en PHP

php
<?php

$dir = "/path/to/directory";
$files = scandir($dir);
print_r($files);

Uso de la función dir()

⚠️ Obsoleto: La función dir() fue marcada como obsoleta en PHP 7.4 y eliminada en PHP 8.0. Utiliza DirectoryIterator o scandir() en su lugar. El siguiente ejemplo se proporciona únicamente para el mantenimiento de código heredado.

La función dir() devuelve un objeto Directory que proporciona una forma orientada a objetos de leer el contenido de un directorio. A diferencia de scandir(), que devuelve un array simple, dir() devuelve un objeto con métodos como read(), rewind() y close(). Ten en cuenta que dir() no es un alias para scandir(); cumplen propósitos diferentes y devuelven diferentes tipos de datos.

Uso de la función dir() en PHP

php
<?php
$dir = dir("/path/to/directory");
while (($file = $dir->read()) !== false) {
    echo "filename: " . $file . "<br>";
}
$dir->close();

Conclusión

En conclusión, PHP proporciona varias funciones integradas para la manipulación de directorios, como opendir(), readdir(), mkdir() y rmdir(), que te permiten gestionar directorios y archivos en el servidor. Al comprender estas funciones de directorio y utilizarlas en tus scripts PHP, podrás manipular fácilmente directorios y archivos en el servidor. Esperamos que este artículo te haya proporcionado una comprensión completa de las funciones de directorio de PHP y de cómo utilizarlas en tus proyectos PHP.

Práctica

¿Qué funciones proporciona la clase 'dir' de PHP para trabajar con directorios?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.