Laravel elimina el directorio del público

1 minuto de lectura

¿Cómo podría eliminar un directorio de la carpeta pública? Ahora mismo pruebo esto:

Storage::deleteDirectory($directory);

¿Pero eso se ve en la carpeta de almacenamiento?

Puedes usar Illuminate\Filesystem\Filesystem para esto. Laravel proporciona la File fachada para facilitar el acceso:

File::deleteDirectory(public_path('path/to/folder'));

El método volverá true si tiene éxito, false si falla.

  • ¿Por qué no se elimina la carpeta base? Todo lo que hay dentro se ha eliminado, excepto la carpeta principal.

    – raul singh

    15 de diciembre de 2017 a las 8:20

Avatar de usuario de Max
máx.

Puedes usar esto:

 $path="upload/pic/foldername/";
 if (\File::exists($path)) \File::deleteDirectory($path);

el nombre de la carpeta se está eliminando con todos los archivos que contiene.

Avatar de usuario de Muihlinn
Mühlinn

Para que Storage pueda acceder a él, debe definir el nombre del sistema de archivos en config/filesystems y asegúrese de tener los permisos correctos para poder hacer lo que quiere hacer.

Entonces algo como Storage::deleteDirectory($directory); asumiendo que $directory es algo que obtuviste correctamente del recurso correspondiente.

Leer los documentos aquí

Puede usar Archivo en lugar de Almacenamiento. Prueba este:

File::deleteDirectory(public_path($directory));

Avatar de usuario de Gaurav Mavani
Gaurav Mavani

Tienes que agregar primero use File; o use Storage; al principio del archivo, entonces puede usar File::deleteDirectory('path') o Storage::deleteDirectory('path')

En Laravel 7,8 o superior

¿Ha sido útil esta solución?