En este tema, aprenderás cómo manejar archivos en PHP, incluyendo cómo leer y escribir datos en archivos. Trabajar con archivos es una habilidad esencial para cualquier programador, ya que permite almacenar y recuperar datos de manera persistente.

Conceptos Clave

  1. Apertura de Archivos: Antes de leer o escribir en un archivo, debes abrirlo utilizando la función fopen().
  2. Lectura de Archivos: PHP proporciona varias funciones para leer archivos, como fread(), fgets(), y file_get_contents().
  3. Escritura en Archivos: Para escribir datos en un archivo, puedes usar funciones como fwrite() y file_put_contents().
  4. Cierre de Archivos: Es importante cerrar los archivos después de usarlos con fclose() para liberar recursos.

Apertura de Archivos

Para abrir un archivo en PHP, utilizamos la función fopen(). Esta función requiere dos parámetros: el nombre del archivo y el modo en el que deseas abrirlo.

Modos de Apertura

Modo Descripción
r Abre el archivo para lectura. El puntero del archivo comienza al principio del archivo.
w Abre el archivo para escritura. Si el archivo no existe, intenta crearlo. Si existe, trunca el archivo a cero.
a Abre el archivo para escritura. Si el archivo no existe, intenta crearlo. Si existe, el puntero del archivo está al final del archivo.
r+ Abre el archivo para lectura y escritura. El puntero del archivo comienza al principio del archivo.
w+ Abre el archivo para lectura y escritura. Si el archivo no existe, intenta crearlo. Si existe, trunca el archivo a cero.
a+ Abre el archivo para lectura y escritura. Si el archivo no existe, intenta crearlo. Si existe, el puntero del archivo está al final del archivo.

Ejemplo de Apertura de Archivo

<?php
$filename = "example.txt";
$file = fopen($filename, "r");

if ($file) {
    echo "Archivo abierto exitosamente.";
} else {
    echo "No se pudo abrir el archivo.";
}
?>

Lectura de Archivos

Leer Todo el Contenido del Archivo

Para leer todo el contenido de un archivo de una sola vez, puedes usar file_get_contents().

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

if ($content !== false) {
    echo $content;
} else {
    echo "No se pudo leer el archivo.";
}
?>

Leer Archivo Línea por Línea

Para leer un archivo línea por línea, puedes usar fgets() en un bucle.

<?php
$filename = "example.txt";
$file = fopen($filename, "r");

if ($file) {
    while (($line = fgets($file)) !== false) {
        echo $line . "<br>";
    }
    fclose($file);
} else {
    echo "No se pudo abrir el archivo.";
}
?>

Escritura en Archivos

Escribir Datos en un Archivo

Para escribir datos en un archivo, puedes usar fwrite().

<?php
$filename = "example.txt";
$file = fopen($filename, "w");

if ($file) {
    $text = "Hola, Mundo!";
    fwrite($file, $text);
    fclose($file);
    echo "Datos escritos exitosamente.";
} else {
    echo "No se pudo abrir el archivo.";
}
?>

Añadir Datos a un Archivo

Para añadir datos al final de un archivo, usa el modo a con fopen().

<?php
$filename = "example.txt";
$file = fopen($filename, "a");

if ($file) {
    $text = "\nAñadiendo una nueva línea.";
    fwrite($file, $text);
    fclose($file);
    echo "Datos añadidos exitosamente.";
} else {
    echo "No se pudo abrir el archivo.";
}
?>

Cierre de Archivos

Es importante cerrar los archivos después de usarlos para liberar recursos del sistema.

<?php
$filename = "example.txt";
$file = fopen($filename, "r");

// Realiza operaciones de lectura/escritura

fclose($file);
?>

Ejercicio Práctico

Ejercicio 1: Leer y Mostrar Contenido de un Archivo

  1. Crea un archivo llamado data.txt y escribe algunas líneas de texto en él.
  2. Escribe un script PHP que abra data.txt, lea su contenido y lo muestre en el navegador.

Solución

<?php
$filename = "data.txt";
$file = fopen($filename, "r");

if ($file) {
    while (($line = fgets($file)) !== false) {
        echo $line . "<br>";
    }
    fclose($file);
} else {
    echo "No se pudo abrir el archivo.";
}
?>

Ejercicio 2: Escribir y Añadir Datos a un Archivo

  1. Escribe un script PHP que cree un archivo llamado log.txt y escriba la cadena "Inicio del Log".
  2. Luego, modifica el script para que añada la fecha y hora actuales al final del archivo cada vez que se ejecute.

Solución

<?php
$filename = "log.txt";
$file = fopen($filename, "w");

if ($file) {
    $text = "Inicio del Log\n";
    fwrite($file, $text);
    fclose($file);
    echo "Log inicializado.";
} else {
    echo "No se pudo abrir el archivo.";
}

// Añadir fecha y hora actuales
$file = fopen($filename, "a");

if ($file) {
    $date = date("Y-m-d H:i:s");
    fwrite($file, "Log entry at: " . $date . "\n");
    fclose($file);
    echo "Fecha y hora añadidas.";
} else {
    echo "No se pudo abrir el archivo.";
}
?>

Conclusión

En esta sección, has aprendido cómo abrir, leer, escribir y cerrar archivos en PHP. Estas habilidades son fundamentales para manejar datos de manera persistente en tus aplicaciones. En el próximo tema, exploraremos las funciones de manejo de archivos en mayor detalle.

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