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 11 Livewire Dependent Dropdown
Laravel 11 Livewire Dependent...

Hello, laravel web developers! In this article, we'll see how to create a dependent dropdown in laravel 11 Livewire....

Read More

Jun-03-2024

How To Disable Dates After Week In jQuery Datepicker
How To Disable Dates After Wee...

In this tutorial, we will see how to disable dates after a week in jquery datepicker. In the date picker, we can di...

Read More

Jun-29-2022

7 Easy Steps: Create Laravel 10 Livewire CRUD Operation
7 Easy Steps: Create Laravel 1...

Hey there! I'm diving into the world of Laravel 10 and Livewire, and I'm excited to share a step-by-step guide o...

Read More

Dec-06-2023

Laravel 8 Image Upload Example
Laravel 8 Image Upload Example

In this article, we will see the laravel 8 image upload example. Image or file upload is the most common task...

Read More

Oct-06-2020