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.
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.
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.
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
classUploadControllerextendsController
{
public function upload(){
return view('upload');
}
public function proses_upload(Request$request){
$this->validate($request,[
'file'=>'required',
'keterangan'=>'required',
]);
// menyimpan data file yang diupload ke variabel $file
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel#30 : Membuat Upload File Dengan Laravel</title>
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.
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.
1
2
3
// isi dengan nama folder tempat kemana file diupload
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
Pilih file yang ingin diupload, di sini saya memilih file gambar untuk saya coba upload. klik upload.
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
Buka folder tersebut,
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.
// isi dengan nama folder tempat kemana file diupload
$tujuan_upload='data_file';
$file->move($tujuan_upload,$nama_file);
Gambar::create([
'file'=>$nama_file,
'keterangan'=>$request->keterangan,
]);
return redirect()->back();
}
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
Di sini saya coba mengupload gambar mobil, dan memberi keterangan dengan “Mobil Mobilan”. klik upload.
upload file ke database laravel
Gambar berhasil tersimpan, dan kita coba upload gambar lagi.
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.
Coding enthusiast.
Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.
Action URL Laravel – Action URL adalah sebuah fitur pada laravel untuk tujuan generate URL ke controller, dan juga bisa mengirimkan data parameter seperti pada ...
Multi Bahasa Localization Laravel – Multi bahasa merupakan fitur pada website untuk menampilkan informasi dalam berbagai bahasa. Laravel telah menyediakan fitur multi bahasa. sehingga untuk ...
Import Excel Laravel – Setelah sebelumnya kita belajar tentang membuat export atau cetak laporan excel pada laravel, seperti ada yang kurang jika kita tidak membahas ...
Export Excel Laravel – Fitur export atau cetak laporan excel merupakan salah satu fitur yang paling penting. bagi teman-teman yang sering membuat aplikasi pesanan dari ...
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 […]
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.
[…] 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 […]
mas, di database saya nyimpan gambar nya sebagai .tmp . bagaimana solusinya mas?
lihat di codingannya mas coba cek
terima kasih kak ilmunya