Hallo semuanya, apa kabar? Kali ini saya akan berbagi tutorial tentang cara membuat fitur upload file di Codeigniter 4. Fitur upload file adalah salah satu fitur yang sering digunakan dalam aplikasi web, misalnya untuk mengupload foto profil, dokumen, atau file lainnya.

Dengan fitur upload file, kita bisa menyimpan file yang diupload oleh pengguna ke dalam server atau cloud storage. Codeigniter 4 adalah salah satu framework PHP yang populer dan mudah digunakan. Codeigniter 4 sudah menyediakan library untuk menghandle proses upload file dengan mudah dan aman.

Dalam tutorial ini, kita akan belajar langkah demi langkah cara membuat fitur upload file di Codeigniter 4. Tutorial ini cocok untuk pemula yang ingin belajar Codeigniter 4 atau untuk yang sudah mahir tapi ingin menambah ilmu. Yuk, langsung saja kita mulai tutorialnya.

Nah, bagaimana cara membuatnya. Yuk kita simak tutorial berikut!

Daftar Isi Artikel

  1. Konfigurasi Koneksi Database
  2. Membuat Tabel Berkas
  3. Membuat Model
  4. Membuat Controller Upload
  5. Membuat File View
  6. Membuat Routes
  7. Melakukan Proses Upload

1. Konfigurasi Koneksi Database

Di awal artikel ini kita akan melakukan pengaturan pada konfigurasi koneksi database dengan menggunakan file .env. Buka dahulu file .env kemudian cari pada bagian berikut ini dan ubah informasi yang ada dengan pengaturan database pada komputer kalian :

Pastikan informasi tentang database yang kalian tulis pada konfigurasi di atas benar, karena jika ada kesalahan maka project kita tidak akan terkoneksi dengan database dan tidak dapat mengikuti langkah – langkah membuat upload file pada tutorial ini.

2. Membuat Tabel Berkas

Setelah melakukan konfigurasi koneksi ke database, selanjutnya kita akan membuat tabel yang akan digunakan untuk menyimpan informasi file yang diupload. Kita akan menggunakan migration untuk membuat tabel.

Buatlah sebuah migration baru dengan menggunakan perintah :

Jika perintah tersebut berhasil dijalankan maka akan terbentuk file baru pada folder app/Database/Migrations. Lalu, buka file migration dan ubah dengan kode berikut :

Setelah membuat file migration dan menentukan tabel berserta nama kolom yang akan kita buat. Selanjutnya, kita akan melakukan eksekusi file migration agar secara otomatis membuat tabel baru pada database kita. Untuk mengeksekusi file migration gunakan perintah berikut :

Jika benar maka akan muncul tabel berkas baru dengan struktur berikut :

Struktur tabel berkas

3. Membuat Model

Selanjutnya, kita perlu membuat model yang akan digunakan untuk mengelola data dari database. Kita dapat membuat model BerkasModel dengan kode sebagai berikut:

Jika benar maka akan muncul file baru pada folder app/Models/ dengan nama BerkasModel.php. Buka file tersebut lalu ubah pada bagian protected $table menjadi seperti ini :

Kemudian cari pada bagian variabel $allowedFields, kita akan mengatur Mass Assessment dengan mendeklarasikan kolom mana saja yang dapat kita input dengan data. Ubah pada bagian tersebut menjadi seperti ini :

Selanjutnya arahkan pada variabel $useTimestamps ubah nilai pada false menjadi true.

Dengan kita memberikan nilai true pada variabel tersebut maka secara otomatis setiap transaksi yang terjadi pada tabel berkas akan dicatat waktu transaksinya pada kolom created_at dan updated_at.

4. Membuat Controller Berkas

Selanjutnya, kita perlu membuat controller yang akan melakukan proses upload. Kita dapat membuat controller Berkas.php dengan kode sebagai berikut:

Jika benar maka secara otomatis pada folder app/Controllers akan muncul file baru dengan nama Berkas.php. Buka file Controller tersebut dan ubah menjadi kode berikut :

Perhatikan pada potongan kode berikut :

Kita akan membuat aturan validasi sebuah file dimana hanya boleh tipe file JPG, JPEG, GIF dan PNG serta maksimal besar file kurang lebih 2 MB. Kalian bisa menyesuaikan rules validasi sesuai dengan kebutuhan pada aplikasi yang sedang dibuat. Lalu, pada bagian kode berikut :

Kita akan mengambil meta data dari request yang dikirimkan oleh input fiile dengan fungsi getFile() dan fungsi getRandomName() akan membuat nama file secara acak sebelum disimpan pada folder tujuan serta disimpan ke dalam tabel berkas. Kemudian pada bagian kode berikut :

File yang telah diupload akan dirimkan ke folder upload/berkas yang berada pada folder public.

5. Membuat View Upload File

Setelah kita membuat controller selanjutnya kita akan membuat file view untuk melakukan upload file. Buatlah file view baru dan simpan pada folder app/Views dengan nama upload_form.php atau disesuaikan dengan nama file pada controller. Berikut adalah kode untuk file view :

6. Membuat Routes

Kita perlu routes untuk dapat memproses upload file tersebut. Nah, untuk menambahkan route baru kita buka file app/Config/Routes.php kemudian buat route baru dengan kode berikut :

Sebelum menjalankan proses upload terlebih dahulu kita membuat folder untuk menampung file yang telah berhasil di upload pada folder public dengan nama uploads/berkas.

Folder upload-berkas untuk menampung file

7. Melakukan proses upload

Untuk melakukan proses upload silahkan jalankan terlebih dahulu project codeigniter dengan mengetikkan pada terminal atau command prompt dengan perintah php spark server . Selanjutnya buka browser kita dan ketikkan pada bagian address bar dengan alamat URL http://localhost:8080/berkas.

Jika benar maka akan menampilkan form upload seperti pada gambar di bawah ini :

Tampilan form upload berkas

Jika kita memilih file dengan ekstensi atau ukuran file yang tidak kita ijinkan pada validasi maka akan muncul pesan error seperti pada gambar berikut :

Pesan error muncul ketika file tidak diijinkan oleh validasi

Namun, jika kita menambahkan file sesuai dengan validasi yang kita buat maka secara otomatis akan menambahkan file baru pada database dan folder public/uploads/berkas

Tampilan pesan sukses upload

 

File yang berhasil terupload akan disimpan pada folder ini

Kesimpulan

Demikianlah tutorial tentang cara menggunakan library upload file di codeigniter 4. Dengan library upload file ini, kita dapat melakukan upload file dengan mudah. Library upload file ini juga dapat dikustomisasi sesuai dengan kebutuhan kita seperti tipe file, ukuran, lokasi file dan sebagainya.

Untuk informasi lebih lanjut, kita dapat membaca dokumentasi resmi dari codeigniter 4 di https://codeigniter.com/user_guide/libraries/pagination.html.

Comments to: Tutorial CI 4 – Part 17 : Upload File dengan Upload Library

Your email address will not be published. Required fields are marked *

Attach images - Only PNG, JPG, JPEG and GIF are supported.