Rumah rangka kerja php Laravel Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail

Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail

Nov 02, 2023 pm 04:36 PM
laravel Muat naik fail Muat turun fail

Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail

Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail
Laravel ialah rangka kerja web PHP yang popular yang menyediakan pelbagai fungsi dan alatan untuk menjadikan pembangunan aplikasi web lebih mudah dan cekap. Salah satu fungsi yang biasa digunakan ialah muat naik dan muat turun fail. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail, serta menyediakan contoh kod khusus.

  1. Muat naik fail
    Muat naik fail merujuk kepada memuat naik fail tempatan ke pelayan untuk simpanan. Dalam Laravel, kita boleh menggunakan kelas muat naik fail untuk mengendalikan logik muat naik fail. Berikut adalah langkah-langkah untuk melaksanakan muat naik fail:

Langkah 1: Buat borang muat naik fail
Pertama, kita perlu mencipta borang muat naik fail di bahagian hadapan. Anda boleh menggunakan elemen HTML

dan menetapkan atribut enctype kepada "multipart/form-data". Andaikan borang muat naik fail kami ialah borang ringkas yang hanya mengandungi kotak input fail dan butang hantar, seperti yang ditunjukkan di bawah:

<input type="file" name="file">
<button type="submit">上传</button>
Salin selepas log masuk

Langkah 2: Proses logik muat naik fail
Kemudian, proses logik muat naik fail dalam pengawal Laravel. Pertama, kita perlu memperkenalkan kelas muat naik fail:

gunakan IlluminateHttpRequest

Kemudian, dapatkan fail yang dimuat naik melalui objek Permintaan dan simpan ke pelayan. Contohnya adalah seperti berikut:

muat naik fungsi awam(Minta $request)
{

if ($request->hasFile('file')) {
    $file = $request->file('file');
    $filename = $file->getClientOriginalName();
    $file->move(public_path('uploads'), $filename);
}
Salin selepas log masuk

}

Dalam kod di atas, kami mula-mula menentukan sama ada terdapat fail yang dimuat naik melalui kaedah $request->hasFile(). Jika fail dimuat naik, kami memperoleh objek fail melalui kaedah $request->file(). Kemudian, kita boleh mendapatkan nama fail asal melalui kaedah getClientOriginalName() dan menyimpan fail ke direktori yang ditentukan pada pelayan melalui kaedah move().

  1. Muat turun fail
    Muat turun fail merujuk kepada memuat turun fail daripada pelayan dan menyimpannya secara setempat. Dalam Laravel, kami boleh melaksanakan fungsi memuat turun fail melalui penghalaan dan pengawal. Berikut adalah langkah-langkah untuk melaksanakan muat turun fail:

Langkah 1: Buat laluan muat turun
Mula-mula, kita perlu mencipta laluan muat turun dalam fail route/web.php. Contohnya adalah seperti berikut:

Route::get('/download/{filename}', 'DownloadController@download');

Dalam kod di atas, kami mentakrifkan laluan /download/{filename}, di mana {filename } mewakili nama fail Muat turun yang dikehendaki. Laluan akan memanggil kaedah muat turun() dalam pengawal DownloadController.

Langkah 2: Buat Pengawal Muat Turun
Kemudian, kita perlu mencipta pengawal Muat Turun. Anda boleh mencipta pengawal dalam baris arahan melalui arahan berikut:

php artisan make:controller DownloadController

Kemudian, laksanakan kaedah muat turun() dalam pengawal DownloadController, kod khusus adalah seperti berikut:

muat turun fungsi awam( $filename)
{

$file = public_path('uploads/' . $filename);
return response()->download($file);
Salin selepas log masuk

}

Dalam kod di atas, kami mula-mula mendapatkan laluan mutlak fail melalui kaedah public_path(). Kemudian, fail dikembalikan kepada klien untuk dimuat turun melalui kaedah respons()->muat turun().

  1. Contoh kod lengkap
    Di atas adalah langkah-langkah untuk melaksanakan fungsi muat naik dan muat turun fail yang mudah. Berikut ialah kod contoh lengkap:

// Laluan
Route::get('/download/{filename}', 'DownloadController@download'); ');

// UploadController.php

namespace AppHttpControllers;

gunakan IlluminateHttpRequest;

class UploadController memanjangkan Controller

{

public function upload(Request $request)
{
    if ($request->hasFile('file')) {
        $file = $request->file('file');
        $filename = $file->getClientOriginalName();
        $file->move(public_path('uploads'), $filename);
    }
    
    return redirect('/');
}
Salin selepas log masuk

/; php

namespace AppHttpControllers;


class DownloadController memanjangkan Controller

{

public function download($filename)
{
    $file = public_path('uploads/' . $filename);
    return response()->download($file);
}
Salin selepas log masuk
}


Dalam kod di atas, kami mencipta dua pengawal, UploadController dan DownloadController, untuk mengendalikan logik muat naik dan muat turun fail. Kemudian, kami menentukan dua laluan /upload dan /download/{filename}, yang sepadan dengan fungsi muat naik dan muat turun fail masing-masing. Melalui langkah di atas, kita boleh melaksanakan fungsi muat naik dan muat turun fail dalam Laravel.

Ringkasan

Melalui langkah di atas, kita boleh menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail. Untuk muat naik fail, kita perlu membuat borang muat naik fail di bahagian hadapan dan memproses logik muat naik fail di bahagian belakang untuk muat turun fail, kita perlu menentukan logik muat turun melalui penghalaan dan pengawal, dan mengembalikan fail kepada klien untuk memuat turun. Melalui langkah ini, kami boleh melaksanakan fungsi muat naik dan muat turun fail dalam Laravel dengan mudah.

Atas ialah kandungan terperinci Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Apr 01, 2025 pm 02:45 PM

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Mar 31, 2025 pm 11:24 PM

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Mar 31, 2025 pm 11:48 PM

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Apr 01, 2025 am 07:09 AM

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Laravel - Pelayan Buang Laravel - Pelayan Buang Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Laravel dump server datang dengan versi Laravel 5.7. Versi sebelumnya tidak termasuk pelayan dump. Pelayan dump akan menjadi kebergantungan pembangunan dalam fail komposer laravel/laravel.

Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Apr 01, 2025 am 07:45 AM

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Apr 01, 2025 am 09:09 AM

Sambungan pangkalan data penyewa tersuai dalam pakej lanjutan multi-penyewa Larave Stancl/penyewaan ketika membina aplikasi multi-penyewa menggunakan pakej lanjutan multi-penyewa Larave Stancl/penyewaan, ...

Laravel - URL Tindakan Laravel - URL Tindakan Aug 27, 2024 am 10:51 AM

Laravel - URL Tindakan - Laravel 5.7 memperkenalkan ciri baharu yang dipanggil &quot;URL tindakan boleh panggil&quot;. Ciri ini serupa dengan yang terdapat dalam Laravel 5.6 yang menerima kaedah rentetan dalam tindakan. Tujuan utama sintaks baharu memperkenalkan Laravel 5.7 adalah untuk mengarahkanl

See all articles