Tutorial Laravel #30 : Membuat Upload File Laravel


membuat upload file laravel

Membuat Upload File Laravel – Halo selamat datang di seri tutorial laravel terlengkap berbahasa indonesia. kali ini di tutorial seri laravel bagian 30 ini kita akan belajar membuat upload file dengan laravel. baik itu membuat upload file gambar, file excel (.csv, .xls, xlsx), file .txt, file word, file zip dan file lainnya. nanti bisa teman-teman sesuaikan dengan keinginan teman-teman.

Yang intinya pada tutorial ini kita akan belajar membuat upload file dengan laravel, dan nama file gambar juga disimpan ke database. sehingga kita juga akan membuat proses penghapusan data yang ikut menghapus file gambar yang ingin dihapus.

Yuk langsung simak tutorial upload file menggunakan laravel berikut.

Membuat Upload File Dengan Laravel

Untuk mengikuti tutorial upload file dengan laravel ini, yang harus teman-teman persiapkan adalah sebuah project laravel. jadi pastikan teman-teman sudah menginstall project laravel. jika teman-teman lupa cara menginstall project laravel, teman-teman bisa membaca tutorial berikut.

Baca Juga : Cara Mudah Instalasi Laravel Untuk Pemula

Baiklah, saya anggap teman-teman sudah mempunyai atau sudah menginstall project laravel ya, seperti pada tutorial-tutorial sebelumnya.

Untuk mulai membuat contoh upload file dengan laravel, saya awali dengan membuat 2 buah route yang akan kita gunakan sebagai form upload gambar dan satunya lagi sebagai pemproses file yang diupload.

Baca Juga : Pengenalan Route Pada Laravel

routes/web.php

Pertama kita membuat route dengan nama ‘/upload’, agar menjalankan method upload() pada controller UploadController.php. kemudian route satunya lagi saya membuat dengan nama ‘/upload/proses’. dan route ini menjalankan method proses_upload() dalam controller UploadController.php.

Oke? sampai di sini saya yakin teman-teman sudah paham prosesnya. karena kita sudah sering menggunakan route dari tutorial laravel sebelumnya.

Selanjutnya buat sebuah controller baru dengan nama UploadController.php. karena sesuai dengan controller yang kita tuliskan pada route di atas tadi.

Teman-teman bisa membuat controller dengan perintah php artisan.

php artisan make:controller UploadController

Oke, maka sekarang kita sudah mempunyai controller UploadController.php.

Membuat Upload File Laravel

Sekarang buka file controller tersebut. karena kita akan mulai membuat upload file dengan laravel. dan buat method upload() dan method proses_upload() seperti berikut.

app/Http/Controllers/UploadController.php 

Perhatikan, pada method upload() kita menampilkan view upload.blade.php, karena pada view upload.blade.php ini kita akan membuat form penginputan file yang ingin di upload.

Buat sebuah view baru dengan nama upload.blade.php. pada view ini kita akan membuat form upload.

app/resources/views/upload.blade.php

Perhatikan pada form upload yang kita buat di atas, form ini akan diproses pada route “/upload/proses” seperti yang kita buat pada routes sebelumnya. kemudian kita buat dengan method POST, dan jangan lupa “enctype” nya karena enctype wajib di tuliskan jika kita ingin membuat upload file.

Selanjutnya, perhatikan kembali pada method proses_upload() yang sudah kita buat sebelumnya pada controller UploadController.php.

Pada method ini kita membuat form validasi agar form file dan form keterangan wajib diisi.

Baca : Cara Membuat Form Validasi Pada Laravel

Selanjutnya kita tangkap data file yang diupload dengan fungsi berikut

Data yang diupload kita simpan ke variabel $file.

Selanjutnya kita bisa langsung menampilkan informasi detail dari file yang diupload

dan tahap terakhir kita tetapkan sebuah nama folder tempat file yang diupload akan disimpan. karena saya ingin menyimpan nama file yang diupload ini dalam folder “data_file”, maka isi nama foldernya pada variabel $tujuan_upload.

Selanjutnya fungsi move() di atas bertujuan untuk mengupload file ke folder tujuan yang kita tetapkan sebelumnya.

Percobaan Upload File

Kita lihat hasilnya. jalankan project dengan php artisan serve.

dan akses project dengan alamat localhost:8000/upload.

membuat upload file dengan laravel

membuat upload file dengan laravel

Pilih file yang ingin diupload, di sini saya memilih file gambar untuk saya coba upload. klik upload.

informasi data yang diupload

informasi data yang diupload

Nah, maka tampil detail informasi tentang yang kita upload, dimana informasi yang tampil sesuai dengan yang kita perintahkan pada method proses_upload() tadi.

Kita cek juga apakah gambar yang diupload tadi tersimpan. seperti yang sudah kita tetapkan juga, sebelumnya folder tempat gambar di simpan kita buat ke folder “data_file”. jika kita cek sekarang, larave telah membuatkan folder data_file secara otomatis dalam folder public.

upload file laravel

upload file laravel

Buka folder tersebut,

upload gambar dengan laravel

upload gambar dengan laravel

Nah, file gambar car.png yang saya coba upload tadi berhasil tersimpan ke dalam folder “data_file”.

Lalu bagaimana cara untuk upload file tertentu yang kita batasi agar file-file tertentu saja yang boleh diupload ?

Dan bagaimana cara agar file yang diupload juga tersimpan ke database ?

Caranya mudah. yuk kita lanjutkan lagi.

Membuat Upload File Gambar Ke Database Dengan Laravel

Pada sub judul ini kita akan masuk cara membuat upload file yang file nya akan kita batasi, misalnya kita hanya akan memperbolehkan file gambar yang diupload (.png, .jpg. .jpeg).

Nanti bisa teman-teman sesuaikan sendiri dengan ekstensi yang teman-teman izinkan, silahkan sesuaikan dengan kebutuhan teman-teman sendiri ya 🙂

Langkah pertama, mari kita siapkan dulu table untuk menyimpan data gambar. di sini saya membuat table dengan nama “gambar“. untuk membuat table gambar ini teman-teman bisa membuatnya secara manual dengan kolum sebagai berikut :

  • id (int) (auto_increment) (primary key)
  • file (varchar)
  • keterangan (varchar)

atau bisa dengan menggunakan migration laravel.

di sini saya membuat model baru dengan nama Gambar.php. sekalian dengan membuat migration nya juga.

kemudian buka file migration gambar tadi.

Selanjutnya langsung migrate, agar table gambar kita segera terbuat.

menyimpan nama file ke database

menyimpan nama file ke database

Maka sekarang kita telah punya table gambar dengan kolum sebagai berikut.

upload gambar laravel

upload gambar laravel

BACA KEMBALI :

Selanjutnya Persiapan model Gambar.php.

buka file model Gambar.php yang sudah kita buat tadi. kita akan melakukan beberapa pengaturan,

app/Gambar.php

Pada model gambar kita mengisi kolum file dan kolum keterangan yang hanya boleh diisi pada table gambar.

Selanjutnya buka view upload.blade.php, karena kita akan menampilkan data dari table gambar di bagian bawah form upload gambarnya tadi.

app/resources/views/upload.blade.php

Selanjutnya buka kembali controller UploadController.php.

app/Http/Controllers/UploadController.php

Perhatikan pada controller di atas, karena kita akan berurusan dengan table gambar, maka kita panggil dulu model Gambar.php nya (Eloquent).

Kemudian pada method upload() kita ambil semua data pada table gambar dan kita passing ke view upload.blade.php.

Pada method proses_upload() kita upload filenya dan kita simpan nama file dan keterangan yang diinput pada form sebelumnya.

Perhatikan pada bagian validation di atas, untuk membuat validasi file upload, kita bisa menambahkan dengan “file|image|mimes:jpeg,png,jpg” agar hanya ekstensi tersebut yang diizinkan. dan bisa menambahkan “max:” untuk membuat batas maksimal file yang boleh diupload.

Percobaan Upload File Gambar Ke Database Dengan Laravel

Sekarang kita lihat hasilnya, akses localhost:8000/upload.

upload file ke database dengan laravel

upload file ke database dengan laravel

Di sini saya coba mengupload gambar mobil, dan memberi keterangan dengan “Mobil Mobilan”. klik upload.

upload file ke database laravel

upload file ke database laravel

Gambar berhasil tersimpan, dan kita coba upload gambar lagi.

simpan gambar ke database laravel

simpan gambar ke database laravel

Oke selesai, gambar pun berhasil tersimpan dan tampil.

Kita telah selesai belajar membuat upload file gambar ke database dengan laravel, gambar yang diupload pun telah berhasil kita tampilkan.

Saya rasa tutorial ini sudah sangat panjang, pada tutorial laravel selanjutnya kita masih akan melanjutkan tutorial ini, pada tutorial selanjutnya kita akan belajar membuat proses hapus data yang diupload, serta menghapus file gambarnya juga.

 

Baca Kembali : Tutorial Membuat CRUD dengan Eloquent Laravel

 


Diki Alfarabi Hadi

Coding enthusiast. Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.

Tutorial Menarik Lainnya

action url laravel
laravel localization

Diskusi

4 Komentar
  • Tutorial Laravel #31 : Hapus File Dengan Laravel – Malas Ngoding 6 years ago

    […] masih akan melanjutkan materi pembelajaran kita sebelumnya tentang laravel dasar untuk pemula. pada Tutorial Laravel #30 sebelumnya, kita telah belajar tentang membuat upload file dengan laravel. dan menyimpan data yang […]

  • jadzab crazy 5 years ago

    mas, di database saya nyimpan gambar nya sebagai .tmp . bagaimana solusinya mas?

    • Diki Alfarabi Hadi 5 years ago

      lihat di codingannya mas coba cek

  • Sepri Prisetiyon 2 years ago

    terima kasih kak ilmunya

Tulis Komentar / Pertanyaan

Download ebook belajar HTML & CSS dasar untuk pemula gratis

Download Ebook belajar HTML & CSS dasar untuk pemula gratis.

Ebook ini bisa di download oleh teman-teman yang baru mulai belajar HTML dan CSS dasar tapi tidak tahu mau memulai belajar dari mana. materi pembelajaran sudah di susun secara sistematis dan di dukung contoh gambar.

DOWNLOAD