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:

1

2

<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)
{

1

2

3

4

5

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)
{

1

2

$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

{

1

2

3

4

5

6

7

8

9

10

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

{

1

2

3

4

5

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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 menggunakan gRPC untuk melaksanakan muat naik fail di Golang? Bagaimana untuk menggunakan gRPC untuk melaksanakan muat naik fail di Golang? Jun 03, 2024 pm 04:54 PM

Bagaimana untuk melaksanakan muat naik fail menggunakan gRPC? Buat definisi perkhidmatan sokongan, termasuk permintaan dan mesej respons. Pada klien, fail yang hendak dimuat naik dibuka dan dibahagikan kepada beberapa bahagian, kemudian distrim ke pelayan melalui aliran gRPC. Di bahagian pelayan, ketulan fail diterima dan disimpan ke dalam fail. Pelayan menghantar respons selepas muat naik fail selesai untuk menunjukkan sama ada muat naik berjaya.

Laravel - Perintah Artisan Laravel - Perintah Artisan Aug 27, 2024 am 10:51 AM

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?

Perbandingan versi terkini Laravel dan CodeIgniter Perbandingan versi terkini Laravel dan CodeIgniter Jun 05, 2024 pm 05:29 PM

Versi terkini Laravel 9 dan CodeIgniter 4 menyediakan ciri dan penambahbaikan yang dikemas kini. Laravel9 menggunakan seni bina MVC dan menyediakan fungsi seperti migrasi pangkalan data, pengesahan dan enjin templat. CodeIgniter4 menggunakan seni bina HMVC untuk menyediakan penghalaan, ORM dan caching. Dari segi prestasi, corak reka bentuk berasaskan pembekal perkhidmatan Laravel9 dan rangka kerja ringan CodeIgniter4 memberikannya prestasi cemerlang. Dalam aplikasi praktikal, Laravel9 sesuai untuk projek kompleks yang memerlukan fleksibiliti dan fungsi berkuasa, manakala CodeIgniter4 sesuai untuk pembangunan pesat dan aplikasi kecil.

Bagaimana untuk melaksanakan muat naik fail seret dan lepas di Golang? Bagaimana untuk melaksanakan muat naik fail seret dan lepas di Golang? Jun 05, 2024 pm 12:48 PM

Bagaimana untuk melaksanakan muat naik fail seret dan lepas di Golang? Dayakan perisian tengah; kendalikan permintaan muat naik fail; buat kod HTML untuk kawasan seret dan lepaskan.

Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Jun 01, 2024 pm 01:34 PM

Bandingkan keupayaan pemprosesan data Laravel dan CodeIgniter: ORM: Laravel menggunakan EloquentORM, yang menyediakan pemetaan hubungan kelas-objek, manakala CodeIgniter menggunakan ActiveRecord untuk mewakili model pangkalan data sebagai subkelas kelas PHP. Pembina pertanyaan: Laravel mempunyai API pertanyaan berantai yang fleksibel, manakala pembina pertanyaan CodeIgniter lebih ringkas dan berasaskan tatasusunan. Pengesahan data: Laravel menyediakan kelas Pengesah yang menyokong peraturan pengesahan tersuai, manakala CodeIgniter mempunyai kurang fungsi pengesahan terbina dalam dan memerlukan pengekodan manual peraturan tersuai. Kes praktikal: Contoh pendaftaran pengguna menunjukkan Lar

Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Jun 05, 2024 pm 07:50 PM

Untuk pemula, CodeIgniter mempunyai keluk pembelajaran yang lebih lembut dan ciri yang lebih sedikit, tetapi meliputi keperluan asas. Laravel menawarkan set ciri yang lebih luas tetapi mempunyai keluk pembelajaran yang lebih curam. Dari segi prestasi, kedua-dua Laravel dan CodeIgniter berprestasi baik. Laravel mempunyai dokumentasi yang lebih luas dan sokongan komuniti yang aktif, manakala CodeIgniter lebih ringkas, ringan dan mempunyai ciri keselamatan yang kukuh. Dalam kes praktikal membina aplikasi blog, EloquentORM Laravel memudahkan manipulasi data, manakala CodeIgniter memerlukan lebih banyak konfigurasi manual.

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Jun 04, 2024 am 09:09 AM

Apabila memilih rangka kerja untuk projek besar, Laravel dan CodeIgniter masing-masing mempunyai kelebihan mereka sendiri. Laravel direka untuk aplikasi peringkat perusahaan, menawarkan reka bentuk modular, suntikan pergantungan dan set ciri yang berkuasa. CodeIgniter ialah rangka kerja ringan yang lebih sesuai untuk projek kecil hingga sederhana, menekankan kelajuan dan kemudahan penggunaan. Untuk projek besar dengan keperluan yang kompleks dan bilangan pengguna yang ramai, kuasa dan kebolehskalaan Laravel adalah lebih sesuai. Untuk projek atau situasi mudah dengan sumber terhad, keupayaan pembangunan CodeIgniter yang ringan dan pantas adalah lebih ideal.

Manakah enjin templat yang lebih baik, Laravel atau CodeIgniter? Manakah enjin templat yang lebih baik, Laravel atau CodeIgniter? Jun 03, 2024 am 11:30 AM

Membandingkan enjin templat Laravel's Blade dan CodeIgniter's Twig, pilih berdasarkan keperluan projek dan keutamaan peribadi: Blade adalah berdasarkan sintaks MVC, yang menggalakkan organisasi kod dan warisan templat yang baik. Twig ialah perpustakaan pihak ketiga yang menyediakan sintaks fleksibel, penapis berkuasa, sokongan lanjutan dan kotak pasir keselamatan.

See all articles