Fitur unggah gambar sering dibutuhkan untuk foto produk atau profil. CodeIgniter memudahkannya dengan dua library bawaan: Upload dan Image Manipulation. Panduan ini menunjukkan cara upload gambar CodeIgniter sekaligus otomatis membuat thumbnail-nya.
Konfigurasi dan Proses Upload
Pertama, atur konfigurasi upload lalu jalankan prosesnya:
<?php
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'jpg|jpeg|png';
$config['max_size'] = 2048; // dalam KB
$config['encrypt_name'] = TRUE; // nama acak agar aman
$this->load->library('upload', $config);
if ($this->upload->do_upload('gambar')) {
$data = $this->upload->data();
echo "Berhasil: " . $data['file_name'];
} else {
echo $this->upload->display_errors();
}
?>
Perhatikan allowed_types dan max_size — keduanya adalah validasi keamanan penting agar hanya file gambar berukuran wajar yang diterima.
Membuat Thumbnail Otomatis
Setelah upload berhasil, gunakan library Image Manipulation untuk membuat versi kecilnya:
<?php
$conf['image_library'] = 'gd2';
$conf['source_image'] = './uploads/' . $data['file_name'];
$conf['create_thumb'] = TRUE;
$conf['maintain_ratio'] = TRUE;
$conf['width'] = 150;
$conf['height'] = 150;
$this->load->library('image_lib', $conf);
$this->image_lib->resize();
?>
Opsi create_thumb membuat file baru dengan akhiran “_thumb”, sedangkan maintain_ratio menjaga proporsi gambar agar tidak gepeng.
Kesimpulan
Dengan library bawaan CodeIgniter, upload gambar CodeIgniter beserta pembuatan thumbnail bisa dilakukan hanya dengan beberapa baris kode — lengkap dengan validasi tipe dan ukuran untuk keamanan.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi CodeIgniter.

