Multiple upload CodeIgniter memungkinkan pengguna mengunggah beberapa gambar sekaligus, sangat berguna untuk galeri produk atau album foto. Panduan ini menunjukkan cara memproses banyak file dan menyimpannya ke database.
Membuat Form Multiple File
Kunci utamanya adalah atribut multiple dan nama input berbentuk array (dengan tanda kurung siku):
<form method="post" enctype="multipart/form-data">
<input type="file" name="gambar[]" multiple>
<button type="submit">Unggah Semua</button>
</form>
Memproses Banyak File dengan Perulangan
Karena library Upload CodeIgniter memproses satu file per waktu, kita perlu melakukan perulangan:
<?php
$jumlah = count($_FILES['gambar']['name']);
for ($i = 0; $i < $jumlah; $i++) {
$_FILES['file']['name'] = $_FILES['gambar']['name'][$i];
$_FILES['file']['tmp_name'] = $_FILES['gambar']['tmp_name'][$i];
$_FILES['file']['size'] = $_FILES['gambar']['size'][$i];
if ($this->upload->do_upload('file')) {
$data = $this->upload->data();
$this->db->insert('galeri', array('file' => $data['file_name']));
}
}
?>
Memahami Triknya
Trik di atas “menyalin” data setiap file dari array gambar[] ke variabel file sementara, sehingga library Upload bisa memprosesnya satu per satu seperti biasa.
Mengelola Gambar (Edit dan Hapus)
Simpan nama file di database agar mudah ditampilkan kembali, diedit, atau dihapus. Saat menghapus record, jangan lupa menghapus file fisiknya dengan unlink() agar tidak menumpuk di server.
Kesimpulan
Dengan multiple upload CodeIgniter, Anda dapat membangun galeri lengkap. Kuncinya adalah input array name="gambar[]" dan perulangan untuk memproses setiap file secara terpisah.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi CodeIgniter.

