Laravel 9 Create Zip File And Download

Websolutionstuff | May-02-2022 | Categories : Laravel PHP

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.

Step 1: Create Route

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

 

 

Step 2: Create Controller

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 :

Recommended Post
Featured Post
How To Disable Specific Dates In jQuery Datepicker
How To Disable Specific Dates...

In this tutorial, we will see how to disable specific dates in jquery datepicker. The jQuery UI Datepicker is...

Read More

Jun-16-2022

Bootstrap Modal In Angular 13
Bootstrap Modal In Angular 13

In this article, we will see the bootstrap modal in angular 13. Ng Bootstrap is developed from bootstrap and they p...

Read More

Jun-10-2022

Reseller Hosting Myths to Know and Unfollow
Reseller Hosting Myths to Know...

If you work in the web hosting sector, you're probably acquainted with the term reseller hosting. Resellers make up...

Read More

Apr-07-2022

How To Change Datepicker Start Date In Angular 15
How To Change Datepicker Start...

In this tutorial, I will guide you through the process of changing the start date of a datepicker component in Angular 1...

Read More

Jul-03-2023