Manipulación de Archivos PHP - Ejemplo Práctico

Aprende a crear, editar y eliminar archivos con funciones PHP

Descargar Ejemplo Completo

¿Cómo Funciona la Manipulación de Archivos en PHP?

Paso 1: Crear Archivos

PHP puede crear archivos automáticamente si no existen usando diferentes funciones:

file_put_contents() - Método más simple
<?php
// Crea el archivo si no existe y escribe contenido
file_put_contents('mi_archivo.txt', 'Contenido inicial');

Ventajas: Una sola función para crear y escribir

Paso 2: Leer Archivos

Para leer el contenido de un archivo existente:

file_get_contents() - Leer todo el contenido
<?php
// Leer todo el contenido del archivo
$contenido = file_get_contents('mi_archivo.txt');
echo $contenido;

Paso 3: Editar Archivos

PHP permite añadir contenido sin borrar lo existente:

FILE_APPEND - Añadir al final
<?php
// Añadir contenido al final del archivo
file_put_contents('mi_archivo.txt', "\nNueva línea", FILE_APPEND);

Paso 4: Verificar y Eliminar

Es importante verificar si un archivo existe antes de operar con él:

file_exists() y unlink()
<?php
// Verificar existencia antes de eliminar
if (file_exists('mi_archivo.txt')) {
    unlink('mi_archivo.txt'); // Eliminar archivo
    echo "Archivo eliminado";
} else {
    echo "El archivo no existe";
}

Estado Actual del Archivo

Archivo: archivo.php EXISTE

Tamaño: 0 bytes

Última modificación: 2026-06-28 11:53:15

Contenido actual: El archivo está vacío

Prueba el Código en Vivo

Usa los siguientes controles para probar las funciones de manipulación de archivos en tiempo real:

Panel de Control de Archivos

Código Completo Explicado

Archivo crear_editar_archivos.php - Código Principal

<?php
// Procesar el formulario cuando se envía
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $opcion = $_POST['opcion'] ?? null;
    $mensaje = $_POST['mensaje'] ?? '';

    // Switch para manejar diferentes operaciones
    switch ($opcion) {
        case 'crear':
            // Crear archivo vacío
            file_put_contents('archivo.php', "");
            $resultado = "✅ Archivo creado correctamente";
            break;

        case 'editar':
            // Añadir contenido al archivo (FILE_APPEND evita sobrescribir)
            file_put_contents('archivo.php', $mensaje, FILE_APPEND);
            $resultado = "✅ Texto añadido al archivo";
            break;

        case 'eliminar':
            // Verificar que el archivo existe antes de eliminar
            if (file_exists('archivo.php')) {
                unlink('archivo.php'); // Eliminar archivo
                $resultado = "✅ Archivo eliminado";
            } else {
                $resultado = "⚠️ El archivo no existe";
            }
            break;

        case 'vaciar':
            // Vaciar el contenido del archivo
            file_put_contents('archivo.php', '');
            $resultado = "✅ Archivo vaciado";
            break;
    }
}

// Verificar estado actual para mostrar en la página
$archivo_existe = file_exists('archivo.php');
$contenido_actual = $archivo_existe ? file_get_contents('archivo.php') : '';
?>

Funciones PHP Clave Utilizadas:

  • file_put_contents(): Crea/escribe en archivos de forma sencilla
  • FILE_APPEND: Constante para añadir contenido sin borrar lo existente
  • file_exists(): Verifica si un archivo o directorio existe
  • unlink(): Elimina un archivo del sistema
  • file_get_contents(): Lee el contenido completo de un archivo
  • $_POST: Array que contiene datos enviados por formulario POST

Ejercicios para Practicar

Ejercicio 1: Validación Mejorada

Modifica el código para que verifique si el archivo existe antes de crearlo.

Solución sugerida:
case 'crear':
    if (!file_exists('archivo.php')) {
        file_put_contents('archivo.php', "");
        $resultado = "✅ Archivo creado correctamente";
    } else {
        $resultado = "⚠️ El archivo ya existe";
    }
    break;

Ejercicio 2: Contador de Líneas

Añade una función que cuente y muestre cuántas líneas tiene el archivo.

Solución sugerida:
// Después de verificar que el archivo existe
$lineas = file('archivo.php');
$numero_lineas = count($lineas);
echo "El archivo tiene $numero_lineas líneas";

Ejercicio 3: Backup Automático

Crea una opción que haga una copia de seguridad antes de operaciones críticas.

Solución sugerida:
// Antes de eliminar o vaciar
if (file_exists('archivo.php')) {
    copy('archivo.php', 'backup_archivo_' . date('Y-m-d_H-i-s') . '.php');
}

Consejos de Seguridad

⚠️ Precauciones Importantes

  • Nunca uses este código en producción sin validaciones adicionales
  • Valida y sanitiza todas las entradas del usuario
  • Limita los permisos de los archivos creados
  • Usa directorios seguros fuera del root web cuando sea posible

🔒 Mejores Prácticas

  • Verifica existencia antes de operar con archivos
  • Maneja errores con try-catch cuando sea posible
  • Log de operaciones para auditoría
  • Validación de tipos de archivo permitidos