andriajah Thu Jul 2023 9 months ago

Bagaimana Cara Membuat File Zip dan Mengunduh di Laravel 10?

Hari ini, saya menjelaskan cara membuat file zip dan mengunduhnya di laravel 10. Dalam tutorial ini, saya menulis contoh laravel 10 membuat file arsip zip dan mengunduhnya sebagai tanggapan. kita akan membuat file zip menggunakan kelas zip-archive di aplikasi php laravel 10. Saya akan memberikan contoh langkah demi langkah cara membuat file zip dari folder dan mengunduhnya di aplikasi laravel 10. Saya akan memberikan contoh step by step cara membuat file zip dari folder dan mendownloadnya di aplikasi laravel 10. kita akan membuat file zip menggunakan kelas arsip zip di aplikasi php laravel 10.

Dalam posting ini, saya akan menunjukkan kepada Anda cara membuat cara yang sangat sederhana untuk meng-zip file di aplikasi laravel 10. Jadi mari ikuti beberapa hal dan jadikan sebagai contoh sederhana.

Langkah 1: Unduh Laravel

Mari kita mulai tutorialnya dengan menginstal aplikasi laravel baru. jika Anda sudah membuat proyek, lewati langkah berikut.

composer create-project laravel/laravel example-app

Langkah 2: Tambahkan Route

Hal pertama adalah kami menempatkan satu route dalam satu untuk mengunduh file zip yang dibuat. Jadi cukup tambahkan kedua route di file route Anda.

 

routes/web.php

<?php
  
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ZipController;
  
/*
|--------------------------------------------------------------------------
| 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', [ZipController::class, 'downloadZip']);

Langkah 3: Tambahkan Controller

php artisan make:controller ZipController

Hal yang sama seperti diatas untuk route, disini kita akan menambahkan satu method baru untuk route. downloadZip() akan menghasilkan file zip baru dan mengunduh sebagai respons, jadi mari tambahkan di bawah ini:

app/Http/Controllers/ZipController.php

<?php
   
namespace App\Http\Controllers;
   
use Illuminate\Http\Request;
use File;
use ZipArchive;
  
class ZipController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function downloadZip()
    {
        $zip = new ZipArchive;
   
        $fileName = 'myNewFile.zip';
   
        if ($zip->open(public_path($fileName), ZipArchive::CREATE) === TRUE)
        {
            $files = File::files(public_path('myFiles'));
   
            foreach ($files as $key => $value) {
                $relativeNameInZipFile = basename($value);
                $zip->addFile($value, $relativeNameInZipFile);
            }
             
            $zip->close();
        }
    
        return response()->download(public_path($fileName));
    }
}

Jalankan Aplikasi Laravel:

Semua langkah telah dilakukan, sekarang Anda harus mengetikkan perintah yang diberikan dan tekan enter untuk menjalankan aplikasi Laravel:

php artisan serve

Sekarang, Anda harus membuka browser web, ketik URL yang diberikan dan lihat keluaran aplikasi:

http://localhost:8000/download-zip

Saya harap ini dapat membantu Anda ...

laravel 10