Laravel
Eliminar archivos o carpetas dentro del directorio storage_path()
En Laravel, si quieres eliminar archivos o carpetas dentro del directorio storage_path()
, puedes hacerlo con funciones de PHP o con helpers de Laravel. Aquí te explico cómo hacerlo de forma segura.
Eliminar un archivo dentro de storage_path()
use Illuminate\Support\Facades\File;
$path = storage_path('app/ejemplo.txt');
if (File::exists($path)) {
File::delete($path);
}
Eliminar una carpeta dentro de storage_path()
Para eliminar una carpeta completa dentro de storage_path()
en Laravel, puedes usar el siguiente método:
use Illuminate\Support\Facades\File;
$folderPath = storage_path('app/mi_carpeta');
if (File::exists($folderPath)) {
File::deleteDirectory($folderPath);
}
También, pueden usar este ejemplo
use Illuminate\Support\Facades\File;
$path = storage_path('app/public/uploads');
// Verifica si la carpeta existe
if (File::exists($path)) {
// Elimina la carpeta y su contenido
File::deleteDirectory($path);
echo "Carpeta eliminada correctamente.";
} else {
echo "La carpeta no existe.";
}
Explicación:
storage_path('app/public/uploads')
: Define la ruta completa dentro del directoriostorage
.File::exists($path)
: Verifica si esa carpeta realmente existe.File::deleteDirectory($path)
: Elimina la carpeta junto con todos sus archivos y subdirectorios.
Consideraciones:
- Permisos: Asegúrate de que tu usuario de servidor (por ejemplo,
www-data
en Ubuntu) tenga permisos para eliminar esa carpeta. - Backup: Si los archivos son importantes, considera hacer un respaldo antes de ejecutar el borrado.
- Carpeta Vacía: Si la carpeta está vacía, también se elimina sin problemas.
Precauciones
- Asegúrate de no eliminar
storage/framework
,storage/logs
ostorage/app/public
si son necesarios para tu aplicación. - Puedes crear un comando Artisan personalizado para limpiar archivos temporales o específicos si lo necesitas regularmente.
De esta simple manera podemos eliminar archivos, imágenes o carpetas en Laravel