In this article, we will see laravel 9 create a zip file and download it. Laravel provides ZipArchive class for creating zip files in laravel 9. I will give you examples step by step of how to create a zip file from a folder and download it in the laravel 9 application. we will create a zip file using the zip archive class in PHP laravel 9 application.
So, let's see how to create zip file and download in laravel 9, ziparchive laravel 9, create zip file in laravel 9, create a zip file from a folder and download in laravel 9, create zip file using ziparchive in laravel 9.
In this step, we will create a route in the web.php file
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ZipArchiveController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('download-zip', [ZipArchiveController::class, 'downloadZip']);
Now, create a new controller name as ZipArchiveController.
app/Http/Controllers/ZipArchiveController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use ZipArchive;
class ZipArchiveController extends Controller
{
public function downloadZip()
{
$zip = new ZipArchive;
$fileName = 'Example.zip';
if ($zip->open(public_path($fileName), ZipArchive::CREATE) === TRUE)
{
$files = \File::files(public_path('Zip_Example'));
foreach ($files as $key => $value) {
$file = basename($value);
$zip->addFile($value, $file);
}
$zip->close();
}
return response()->download(public_path($fileName));
}
}
Note: I have created a Zip_Example folder in the public folder and added some images. So, you need to also create one folder and add some files also.
Output:
http://localhost:8000/download-zip
You might also like :
- Read Also: How To Upload Multiple Image In Laravel 9
- Read Also: Laravel 9 Custom Helper Function Example
- Read Also: How To Send E-mail Using Queue In Laravel 9
- Read Also: How To Create Dynamic Pie Chart In Laravel 9