chunk(20, function ($medias) use($disk, $cloud) { foreach($medias as $media) { if(!str_starts_with($media->media_path, 'public')) { continue; } if($disk->exists($media->media_path) && $cloud->exists($media->media_path)) { $disk->delete($media->media_path); } if($media->thumbnail_path) { if($disk->exists($media->thumbnail_path)) { $disk->delete($media->thumbnail_path); } } $paths = explode('/', $media->media_path); if(count($paths) === 7) { array_pop($paths); $baseDir = implode('/', $paths); if(count($disk->allFiles($baseDir)) === 0) { $disk->deleteDirectory($baseDir); array_pop($paths); $baseDir = implode('/', $paths); if(count($disk->allFiles($baseDir)) === 0) { $disk->deleteDirectory($baseDir); array_pop($paths); $baseDir = implode('/', $paths); if(count($disk->allFiles($baseDir)) === 0) { $disk->deleteDirectory($baseDir); } } } } } }); } }