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