Πώς να δημιουργήσετε ένα αρχείο Zip με οποιοδήποτε αρχείο και να το κατεβάσετε στο Laravel 9

1
Πώς να δημιουργήσετε ένα αρχείο Zip με οποιοδήποτε αρχείο και να το κατεβάσετε στο Laravel 9

Μπορείτε να δημιουργήσετε μια δέσμη οποιωνδήποτε αρχείων και να τα μετατρέψετε σε ένα zip αρχείο. Η Laravel παρέχει την ευελιξία για τη δημιουργία ενός αρχείου zip. Αυτό θα μας διευκολύνει να κατεβάσουμε περισσότερα από ένα αρχεία μαζί με συνδυασμένο τρόπο. Είτε μπορείτε να κάνετε λήψη πολλαπλών αρχείων ένα προς ένα κάνοντας κλικ στο κουμπί λήψης ξανά και ξανά. Αλλά θα είναι μια χρονοβόρα εργασία για εσάς. Γιατί, λοιπόν, δεν δοκιμάζουμε κάποια εύκολη και λιγότερο χρονοβόρα προσέγγιση; Ναι, μπορείτε να το κάνετε στο Laravel δημιουργώντας ένα αρχείο zip. θα υλοποιήσουμε Λήψη αρχείου zip laravel λειτουργικότητα σε αυτήν την ανάρτηση. Θα σου δείξω πώς μπορείς φτιάξτε ένα αρχείο zip οποιουδήποτε φακέλου που περιέχει αρχεία. Έτσι, θα εφαρμόσουμε κάτι όπως φαίνεται παρακάτω.

Λήψη αρχείου Zip Laravel
Λήψη αρχείου Zip Laravel

Προαπαιτούμενα

Θα εφαρμόσουμε αυτήν τη λειτουργία στο Laravel 9. Μπορείτε να χρησιμοποιήσετε αυτήν την προσέγγιση και στην προηγούμενη έκδοση του Laravel. Για τη δημιουργία ενός έργου Laravel 9, θα χρειαστεί να έχετε τις ακόλουθες διαμορφώσεις.

  • PHP >=8.0.2
  • Συνθέτης
  • Διακομιστής Apache/Nginx
  • VS Code Editor (Προαιρετικό)
  • MySQL (έκδοση > 5)

Υποθέτω ότι είστε έτοιμοι με μια εγκατάσταση έργου Laravel 9. Αν όχι, τότε ας δημιουργήσουμε μια νέα ρύθμιση έργου.

Δημιουργία έργου για την υλοποίηση της λήψης αρχείου Zip της Laravel

Για να δημιουργήσετε ένα νέο έργο στο Laravel, μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή στο τερματικό.

composer create-project --prefer-dist laravel/laravel zip-app

Μόλις ρυθμίσετε το έργο, ας δημιουργήσουμε γρήγορα έναν ελεγκτή.

Συνιστάται: Πώς να δημιουργήσετε μια εφαρμογή CRUD χρησιμοποιώντας τον Ajax στο Laravel 9

Δημιουργήστε έναν ελεγκτή για λήψη του αρχείου Zip στο Laravel 9

Για να δημιουργήσετε έναν ελεγκτή, επιστρέψτε στο τερματικό και πατήστε την παρακάτω εντολή.

php artisan make:controller ZipController

Μετά τη δημιουργία του ελεγκτή, χρειάζεστε μερικά αρχεία σε έναν φάκελο τα οποία θα μετατραπούν σε αρχείο zip. Έτσι, για λόγους απλότητας, δημιούργησα έναν νέο φάκελο μέσα στον δημόσιο φάκελο του έργου με το όνομα λουλούδια. Μέσα σε αυτόν τον φάκελο, έχω μερικές εικόνες που πρόκειται να μετατραπούν σε αρχείο zip.

Αρχεία σε φάκελο για δημιουργία Zip
Αρχεία σε φάκελο για δημιουργία Zip

Στη συνέχεια, πρέπει να προσθέσετε το παρακάτω απόσπασμα σε αυτό το χειριστήριο.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use File;
use ZipArchive;

class ZipController extends Controller
{
    /**
     * Function - Download File
     * @param NA
     * @return file
     */
    public function downloadFile() {
        $zip = new ZipArchive;

        $fileName = 'flowers.zip';

        if ($zip->open(public_path($fileName), ZipArchive::CREATE) === TRUE)
        {
            $files = \File::files(public_path('flowers'));
            foreach ($files as $key => $value) {
                $file = basename($value);
                $zip->addFile($value, $file);
            }
            $zip->close();
        }

        return response()->download(public_path($fileName));
    }
}

Στον παραπάνω ελεγκτή, έχω χρησιμοποιήσει PHP ZipArchive τάξη για τη δημιουργία αρχείου zip Laravel. Στη συνέχεια, μέσα στη συνάρτηση, το έχω αρχικοποιήσει δημιουργώντας το αντικείμενο της. Μετά από αυτό, θα δημιουργήσει ένα αρχείο zip με το όνομα λουλούδια.ζιπ και μέσα σε αυτό το αρχείο zip, έχω προσθέσει τις εικόνες λουλουδιών από το φάκελο δημόσια λουλούδια.

Δημιουργία διαδρομής για το Laravel Zip

Για να προσθέσετε μια διαδρομή, μεταβείτε στο web.php και προσθέστε την παρακάτω διαδρομή.

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ZipController;

Route::get('download-zip', [ZipController::class, 'downloadFile']);

Μόλις τελειώσετε, ήρθε η ώρα να ελέγξετε το αποτέλεσμα.

Αποτέλεσμα λήψης αρχείου Zip Laravel

Λήψη αρχείου Zip Laravel
Αποτέλεσμα λήψης αρχείου

Αφού ολοκληρώσετε τη λήψη, εξαγάγετε το αρχείο zip και ελέγξτε τα αρχεία.

Κατέβασε το αρχείο Zip στο Laravel
Κατέβασε το αρχείο Zip στο Laravel

Μετά την εξαγωγή του φακέλου, μπορείτε να δείτε τα αρχειοθετημένα αρχεία να επαναδιαμορφώνονται στα αρχικά αρχεία.

Συνιστάται: Πώς να ανεβάσετε εικόνα χρησιμοποιώντας τον Ajax στο Laravel 9 με επικύρωση

Αποτέλεσμα εξαγωγής αρχείου Zip
Αποτέλεσμα εξαγωγής αρχείου Zip

Λοιπόν, αυτό είναι για αυτήν την ανάρτηση. Εάν βρείτε κάποια δυσκολία κατά την εφαρμογή αυτής της λειτουργικότητας, μπορείτε να επικοινωνήσετε μαζί μου. Επίσης, μπορείτε να ρωτήσετε τις αμφιβολίες σας χρησιμοποιώντας την ενότητα σχολίων εδώ. Θα προσπαθήσω να επιλύσω το ερώτημά σας το συντομότερο.

Schreibe einen Kommentar