In this tutorial I will give you example of how to create zip file in laravel 7/8. Some times client's have requirments to have functionalities like create zip file for documantation or images and download it. So, using ziparchive function you can create zip file and download in laravel 7/8.
In this example I will show you to how to create zip file in laravel using ziparchive without any packege. Laravel provide ZipArchive class for create zip file in laravel,So I will use ZipArchive in laravel 7/8.
Read More Official Document of PHP : ZipArchive
In below code I have created one function in laravel controller and added ZipArchive class.
In this step we can add route for create and download zipfile. So, add below code in web.php file.
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ZipFileController ;
Route::get('ziparchive_example', [ZipFileController ::class, 'ZipArchiveExample']);
Now, create controller and add function ZipArchiveExample.
app/Http/Controllers/ZipFileController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use ZipArchive;
class ZipFileController extends Controller
{
public function ZipArchiveExample()
{
$zip = new ZipArchive;
$fileName = 'Zipfile_Example.zip';
if ($zip->open(public_path($fileName), ZipArchive::CREATE) === TRUE)
{
$files = \File::files(public_path('ZipArchive_Example'));
foreach ($files as $key => $value) {
$file = basename($value);
$zip->addFile($value, $file);
}
$zip->close();
}
return response()->download(public_path($fileName));
}
}
Now run below command in your terminal.
Now you can open bellow URL on your browser:
You might also like :
- Read Also : Laravel 8 Google Bar Chart Example
- Read Also : Helper Function Example in Laravel 8
- Read Also : Node.js Express CRUD Example with MySQL
- Read Also : Laravel 8 REST API With Passport Authentication