Multiple Image Upload dengan Edit dan Hapus di CodeIgniter

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.

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *