Trabajo con el sistema de archivos en PHP: guía completa

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Trabajo con el sistema de archivos en PHP: fundamentos y ejemplos prácticos



Trabajar con el sistema de archivos es una de las tareas clave del desarrollo web en PHP. Ya sea para cargar imágenes, escribir registros, leer archivos de configuración o gestionar datos temporales, el conocimiento de las funciones para trabajar con archivos y directorios es necesario para todo desarrollador PHP. En este artículo, analizaremos en detalle las operaciones básicas: abrir, leer, escribir, cerrar archivos, así como gestionar carpetas y permisos de acceso.



Funciones principales para trabajar con archivos en PHP



PHP proporciona un rico conjunto de funciones integradas. Veamos las más importantes.



Abrir y cerrar un archivo: fopen() y fclose()



Para empezar a trabajar con un archivo, primero hay que abrirlo con fopen(). La función acepta dos parámetros obligatorios: la ruta al archivo y el modo de apertura. El modo determina qué se puede hacer con el archivo: leer, escribir, añadir datos al final, etc.



Modos principales:

  • r — solo lectura. El puntero al inicio del archivo.
  • r+ — lectura y escritura. El puntero al inicio.
  • w — solo escritura. Si el archivo existe, se vacía. Si no, se crea.
  • w+ — lectura y escritura. Vacía el archivo o crea uno nuevo.
  • a — solo escritura al final del archivo. Si el archivo no existe, se crea.
  • a+ — lectura y escritura al final.


<?php$file = fopen("example.txt", "w"); // Abrimos el archivo para escrituraif ($file) {    echo "Archivo abierto correctamente.";    fclose($file); // Siempre cierre el archivo después de trabajar} else {    echo "No se pudo abrir el archivo.";}?>


Lectura de un archivo: fgets(), fread() y file_get_contents()



La forma más sencilla de leer un archivo completo es la función file_get_contents(). Devuelve el contenido como una cadena.



<?php$content = file_get_contents("example.txt");echo $content;?>


Si necesita leer línea por línea (por ejemplo, para archivos grandes), use fgets() en un bucle:



<?php$file = fopen("example.txt", "r");while (!feof($file)) {    $line = fgets($file);    echo $line . "<br>";}fclose($file);?>


La función fread() permite leer una cantidad determinada de bytes:



<?php$file = fopen("example.txt", "r");$content = fread($file, 100); // Leemos los primeros 100 bytesecho $content;fclose($file);?>


Escritura en un archivo: fwrite() y file_put_contents()



Para escribir datos en un archivo, es conveniente usar file_put_contents(). Abre el archivo, escribe la cadena y lo cierra con un solo comando.



<?php$data = "¡Hola, mundo!";file_put_contents("example.txt", $data);?>


Si necesita añadir datos al final, use la bandera FILE_APPEND:



<?php$data = "Nueva línea";file_put_contents("example.txt", $data, FILE_APPEND);?>


Para una escritura más flexible (por ejemplo, en modo binario), se utiliza fwrite():



<?php$file = fopen("example.txt", "w");fwrite($file, "Cadena para escribir");fclose($file);?>


Trabajo con directorios en PHP



Además de archivos, PHP permite gestionar carpetas: crear, eliminar y leer su contenido.



Creación y eliminación de carpetas: mkdir() y rmdir()



La función mkdir() crea un nuevo directorio. Como segundo parámetro se pueden especificar los permisos de acceso (por defecto 0777).



<?phpif (mkdir("new_folder", 0777)) {    echo "Carpeta creada.";} else {    echo "Error al crear la carpeta.";}?>


Para eliminar una carpeta vacía, use

Blogs

Book Recommendations