How To Create Zip File In Laravel 7/8

Websolutionstuff | Dec-17-2021 | Categories : Laravel

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.

Note : I have created  ZipArchive_Example folder in public folder and added some images. So, you need to also create one folder and  add some file also.

 

Step 1: Add Route

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']);

 

 

Step 2 : Create Controller

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.

php artisan serve

 

 

Now you can open bellow URL on your browser:

http://localhost:8000/ziparchive_example

 


You might also like :

Recommended Post
Featured Post
Laravel 9 Group Column Chart Using Highcharts
Laravel 9 Group Column Chart U...

In the world of web development, Laravel 9 is a user-friendly PHP framework. When combined with Highcharts, a top JavaSc...

Read More

Jan-02-2023

How to Upgrade PHP 8.0 to 8.1 in Ubuntu
How to Upgrade PHP 8.0 to 8.1...

Hey there! I recently needed to upgrade my PHP version from 8.0 to the latest 8.1 on my Ubuntu server. It's a smart...

Read More

Nov-03-2023

Laravel tips DB Models and Eloquent - Part 3
Laravel tips DB Models and Elo...

Welcome back to the third installment of our series on Laravel tips for database models and Eloquent. If you've been...

Read More

Oct-16-2023

Laravel 9 Datatables Filter with Dropdown
Laravel 9 Datatables Filter wi...

In this article, we will see laravel 9 datatables filter with dropdown. Here we will add datatables...

Read More

Mar-12-2022