Pengunggahan file adalah aspek penting dari proyek apa pun. Mengingat pentingnya hal ini, mengejutkan bahwa banyak pengembang menghadapi tantangan untuk menambahkan fitur pengunggahan file ke proyek mereka. Secara khusus, pengembang tidak yakin tentang cara mengunggah dan memvalidasi file Show
Dalam tutorial ini, saya akan membahas bagaimana mengimplementasikan fungsi upload file Laravel dengan opsi upload banyak file dan gambar. Saya akan menggunakan folder penyimpanan Laravel dan kemudian membuat catatan database untuk mengunggah file. Saya akan menggunakan Laravel 5. 5 dan Bootstrap untuk menjalankan kode tutorial ini Anda mungkin juga suka. Upload File PHP dengan jQuery AJAX PrasyaratUntuk tujuan tutorial ini, saya berasumsi bahwa Anda telah menginstal aplikasi Laravel di server web. Pengaturan saya adalah
Saya telah menginstal aplikasi Laravel di server Laravel yang dikelola Cloudways karena memiliki semua yang saya perlukan untuk tutorial ini. Jika Anda tidak memiliki akun di Cloudways, daftar gratis, dan lihat GIF berikut untuk menyiapkan server dan aplikasi hanya dengan beberapa klik Buat Model dengan MigrasiSaya akan mulai dengan membuat model dan tabel tempat saya akan menyimpan file Luncurkan terminal SSH, buka folder root publik aplikasi dan ketik perintah berikut php artisan make:model Item -m php artisan make:model ItemDetails -m Model BarangSaat migrasi dan model berhasil dibuat, buka app/Item. php dan tambahkan kode Model berikut ke dalamnya
Laravel Multiple File Uploading With Bootstrap Form
{{ csrf_field() }} Product Name Product photos (can attach more than one):Saya telah menggunakan kelas Bootstrap untuk menampilkan peringatan untuk validasi dan menggunakan metode Validasi Laravel untuk memvalidasi jenis file. Gunakan kode berikut untuk controller validate($request, [ 'name' => 'required', 'photos'=>'required', ]); if($request->hasFile('photos')) { $allowedfileExtension=['pdf','jpg','png','docx']; $files = $request->file('photos'); foreach($files as $file){ $filename = $file->getClientOriginalName(); $extension = $file->getClientOriginalExtension(); $check=in_array($extension,$allowedfileExtension); //dd($check); if($check) { $items= Item::create($request->all()); foreach ($request->photos as $photo) { $filename = $photo->store('photos'); ItemDetail::create([ 'item_id' => $items->id, 'filename' => $filename ]); } echo "Upload Successfully"; } else { echo '_ Menyimpan Data dan File di LaravelLaravel menyediakan sistem file penyimpanan yang menyimpan semua data termasuk file dan gambar Untuk ini, Laravel menyediakan config/filesystems. php, terletak di folder config. Dalam file ini, Anda dapat menentukan lokasi penyimpanan file Anda return [ 'default' => 'local', 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), ], // ..._ Dengan menggunakan cuplikan kode di atas, Anda dapat menyimpan file di folder app/storage alih-alih folder publik. Ini adalah praktik pengkodean yang baik untuk menyimpan data karena lokasi ini tidak dapat diakses dari browser. Untuk keperluan tutorial ini, saya telah membuat folder dengan nama photos in storage/app/. Saat menjalankan aplikasi di browser, Anda akan melihat layar berikut Dengan ValidasiUntuk melihat gambar dan unggahan file di Laravel beraksi, lihat demo Perbedaan Antara Disk Lokal dan PublikAnda dapat melihat disk lokal dan publik ditentukan di config/filesystems. php. Laravel menggunakan konfigurasi disk lokal secara default. Perbedaan mendasar antara disk lokal dan publik adalah bahwa disk lokal bersifat pribadi dan tidak dapat diakses dari browser, sedangkan disk publik dapat dengan mudah diakses dari browser. Karena disk publik ada di penyimpanan/aplikasi/publik dan root server Laravel ada di publik, Anda perlu menautkan penyimpanan/aplikasi/publik ke folder publik Laravel. Kita bisa melakukannya dengan menjalankan php artisan storage. tautan Memanipulasi fileLaravel sangat membutuhkan bantuan eksternal dalam mengubah ukuran gambar, menambahkan filter, dan operasi terkait lainnya. Menambahkan fitur ini ke lingkungan asli Laravel hanya akan membuat aplikasi membengkak karena tidak diperlukan instalasi apa pun. Untuk itu, kita memerlukan sebuah paket bernama intervensi/gambar. Sebelumnya di atas, kita telah menginstal paket ini, tetapi tetap saja composer membutuhkannya untuk referensi Kami tidak perlu mendaftarkan apa pun karena Laravel dapat mendeteksi paket secara otomatis. Baca yang berikut jika Anda menggunakan versi yang lebih rendah dari Laravel 5. 5 Untuk mengubah ukuran gambar
|