Rumah  >  Artikel  >  rangka kerja php  >  proses muat naik berbilang fail laravel

proses muat naik berbilang fail laravel

PHPz
PHPzasal
2023-04-23 09:18:43183semak imbas

Laravel ialah rangka kerja PHP popular yang menyediakan fungsi muat naik fail yang mudah, membolehkan pengguna memuat naik berbilang fail. Artikel ini akan memperkenalkan proses muat naik berbilang fail dalam Laravel.

1. Konfigurasikan penghalaan

Dalam Laravel, muat naik fail biasanya diserahkan melalui permintaan POST. Fail yang dimuat naik akan dihantar ke pelayan di laluan yang ditentukan, seperti /upload. Untuk membolehkan Laravel mengendalikan fail yang dimuat naik, kita perlu menentukan laluan dalam fail routes/web.php seperti berikut:

<code>Route::post('/upload', 'FileController@upload');</code>

Laluan ini menghantar permintaan POST ke laluan /upload dan menghantarnya ke The Kaedah FileController dalam pengawal bernama upload.

2. Cipta pengawal

Buat pengawal bernama FileController dan tulis kaedah upload di dalamnya. Kaedah ini akan mengendalikan fail yang dimuat naik:

<code>public function upload(Request $request)
{
    $files = $request->file('file');
    foreach ($files as $file) {
        $fileName = time() . '-' . $file->getClientOriginalName();
        $file->move(public_path('uploads'), $fileName);
    }
}</code>

Dalam kaedah ini, kami mula-mula mendapatkan fail yang dimuat naik dan mengulanginya. Untuk setiap fail, kami menggunakan kaedah getClientOriginalName untuk mendapatkan nama fail asalnya, menggabungkannya dengan cap masa semasa ke dalam nama fail baharu, dan kemudian menggunakan kaedah move untuk menyimpannya dalam direktori uploads awam pelayan.

Perhatikan bahawa Laravel akan mengesahkan secara automatik bahawa fail itu memenuhi keperluan (saiz, jenis, dsb.). Jika fail yang dimuat naik tidak memenuhi keperluan, Laravel akan membuang ValidationException pengecualian.

3. Konfigurasikan borang

Sekarang kita perlu mencipta borang dalam paparan untuk membolehkan pengguna memuat naik fail. Dalam contoh ini, kami akan mencipta borang dalam fail resources/views/upload.blade.php:

<code><form method="POST" action="/upload" enctype="multipart/form-data">
    @csrf
    <input type="file" name="file[]" multiple>
    <button type="submit">上传文件</button>
</form></code>

Mula-mula, kami mentakrifkan kaedah POST untuk menghantar data borang ke alamat /upload. Memandangkan kami perlu memuat naik berbilang fail, kami menggunakan atribut multiple untuk menetapkan elemen <input> kepada berbilang pilih. Selain itu, kita perlu menambah atribut enctype="multipart/form-data" pada borang untuk memastikan fail dikodkan dengan betul dan dipindahkan melalui permintaan POST.

4. Uji fungsi muat naik

Sekarang kami telah menyelesaikan konfigurasi dan pelaksanaan fungsi muat naik, kami boleh menguji sama ada kami berjaya memuat naik fail. Kami boleh mengakses laluan /upload dan memuat naik berbilang fail. Selepas muat naik selesai, kami boleh menyemak sama ada fail kami telah disimpan dalam direktori uploads pelayan.

Ringkasan

Melalui langkah di atas, kami telah berjaya mengkonfigurasi fungsi muat naik berbilang fail Laravel. Untuk memuat naik berbilang fail kita perlu menggunakan elemen bentuk jenis tatasusunan dan menggunakan gelung dalam pengawal untuk memproses setiap fail yang dimuat naik. Kami juga mempelajari cara mengkonfigurasi laluan dan borang Laravel untuk mengendalikan muat naik fail.

Atas ialah kandungan terperinci proses muat naik berbilang fail laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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