laravel-download-util maintained by think.studio
Laravel download util.
Util to create download archive.
Installation
Install the package via composer:
composer require think.studio/laravel-download-util
Optionally you can publish the config file with:
php artisan vendor:publish --provider="LaravelDownloadUtil\ServiceProvider" --tag="config"
Usage
Archivers
ZipArchiver
$storage = Storage::disk('my-disk');
$zipFileName = (new ZipArchiver($storage))
->setArchiveCreationCallback(function ($archive, $files,) {
foreach ($files as $directory => $filesList) {
foreach ($filesList as $fileName => $file) {
$archive->addFile($file, "{$directory}/".Str::afterLast($fileName, '/'));
}
}
})->create($files, "app/assets-".Carbon::now()->format('Y-m-d-his'));
if($zipFileName) {
return $storage->url($zipFileName)''
}
Commands
$schedule->command('download-util:prune-outdated prunable_downloads -S 36000 -E ".zip"')->everyThirtyMinutes();



