In this article, we will see how to create a zip file using zipArchive in laravel. Sometimes we have requirements to have functionalities like creating zip files for documentation or images and downloading them. So, at that time we can find many laravel packages to perform this task. But here, we will see how to create a zip file in laravel using zipArchive without any package.
Laravel provides ZipArchive class for creating zip files in laravel. So, we will use ZipArchive in laravel 6 and laravel 7, and laravel 8.
How To Create Zip File In Laravel Using zipArchive
In the below code, I have created one function in the laravel controller and added ZipArchive class.
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.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use ZipArchive;
public function ZipArchiveExample()
{
$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));
}
You might also like:
- Read Also: Laravel 8 PDF Generate Example
- Read Also: How To Check RAM And CPU Usage In Laravel
- Read Also: How To Delete File From Public Folder In Laravel
- Read Also: Laravel 8 Import Export CSV/EXCEL File Example