En este tema, aprenderemos sobre las funciones de directorio en PHP. Estas funciones nos permiten interactuar con el sistema de archivos, específicamente con los directorios. Podremos abrir, leer, crear y eliminar directorios, así como listar su contenido.

Conceptos Clave

  1. Directorio: Un directorio es una carpeta en el sistema de archivos que puede contener archivos y otros directorios.
  2. Ruta: La ubicación de un archivo o directorio en el sistema de archivos.
  3. Permisos: Los permisos determinan quién puede leer, escribir o ejecutar un archivo o directorio.

Funciones Principales

opendir()

Abre un directorio y lo prepara para ser leído.

$dir = opendir("/ruta/al/directorio");
if ($dir) {
    echo "Directorio abierto con éxito.";
} else {
    echo "No se pudo abrir el directorio.";
}

readdir()

Lee una entrada de un directorio abierto.

$dir = opendir("/ruta/al/directorio");
if ($dir) {
    while (($file = readdir($dir)) !== false) {
        echo "Nombre de archivo: $file\n";
    }
    closedir($dir);
}

closedir()

Cierra un directorio abierto.

$dir = opendir("/ruta/al/directorio");
if ($dir) {
    // Leer el directorio
    closedir($dir);
    echo "Directorio cerrado.";
}

scandir()

Devuelve una lista de archivos y directorios dentro de un directorio especificado.

$files = scandir("/ruta/al/directorio");
foreach ($files as $file) {
    echo "Nombre de archivo: $file\n";
}

mkdir()

Crea un nuevo directorio.

if (mkdir("/ruta/al/nuevo_directorio")) {
    echo "Directorio creado con éxito.";
} else {
    echo "No se pudo crear el directorio.";
}

rmdir()

Elimina un directorio vacío.

if (rmdir("/ruta/al/directorio_vacio")) {
    echo "Directorio eliminado con éxito.";
} else {
    echo "No se pudo eliminar el directorio.";
}

Ejemplo Práctico

Vamos a crear un script que liste todos los archivos y subdirectorios de un directorio dado, y luego cree un nuevo subdirectorio dentro de él.

$path = "/ruta/al/directorio";

// Listar contenido del directorio
if (is_dir($path)) {
    if ($dir = opendir($path)) {
        echo "Contenido del directorio '$path':\n";
        while (($file = readdir($dir)) !== false) {
            echo "$file\n";
        }
        closedir($dir);
    } else {
        echo "No se pudo abrir el directorio.";
    }
} else {
    echo "La ruta especificada no es un directorio.";
}

// Crear un nuevo subdirectorio
$newDir = $path . "/nuevo_subdirectorio";
if (mkdir($newDir)) {
    echo "Subdirectorio '$newDir' creado con éxito.";
} else {
    echo "No se pudo crear el subdirectorio.";
}

Ejercicio Práctico

Ejercicio 1: Listar Archivos y Crear Directorio

  1. Objetivo: Crear un script que liste todos los archivos y subdirectorios de un directorio dado y luego cree un nuevo subdirectorio dentro de él.
  2. Instrucciones:
    • Solicita al usuario la ruta de un directorio.
    • Lista todos los archivos y subdirectorios dentro de ese directorio.
    • Crea un nuevo subdirectorio llamado "nuevo_directorio" dentro del directorio dado.

Solución

// Solicitar la ruta del directorio al usuario
echo "Ingrese la ruta del directorio: ";
$handle = fopen("php://stdin", "r");
$path = trim(fgets($handle));

// Listar contenido del directorio
if (is_dir($path)) {
    if ($dir = opendir($path)) {
        echo "Contenido del directorio '$path':\n";
        while (($file = readdir($dir)) !== false) {
            echo "$file\n";
        }
        closedir($dir);
    } else {
        echo "No se pudo abrir el directorio.";
    }
} else {
    echo "La ruta especificada no es un directorio.";
}

// Crear un nuevo subdirectorio
$newDir = $path . "/nuevo_directorio";
if (mkdir($newDir)) {
    echo "Subdirectorio '$newDir' creado con éxito.";
} else {
    echo "No se pudo crear el subdirectorio.";
}

Resumen

En esta sección, hemos aprendido sobre las funciones de directorio en PHP. Hemos visto cómo abrir, leer, crear y eliminar directorios, así como listar su contenido. Estas funciones son esenciales para la gestión de archivos y directorios en aplicaciones PHP. En el próximo módulo, exploraremos la Programación Orientada a Objetos (POO) en PHP.

Curso de Programación en PHP

Módulo 1: Introducción a PHP

Módulo 2: Estructuras de Control

Módulo 3: Funciones

Módulo 4: Arrays

Módulo 5: Trabajando con Formularios

Módulo 6: Trabajando con Archivos

Módulo 7: Programación Orientada a Objetos (POO)

Módulo 8: Trabajando con Bases de Datos

Módulo 9: Técnicas Avanzadas de PHP

Módulo 10: Frameworks de PHP y Mejores Prácticas

Módulo 11: Proyecto: Construyendo una Aplicación Web

© Copyright 2024. Todos los derechos reservados