¿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
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.
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));
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