Selamat datang kembali di website tips dan trik Dumet School, berjumpa kembali dengan saya yang kali ini akan share tentang Crud Upload Image Codeigniter, Upload, Delete jadi idenya kali ini adalah:
- Kita akan upload data kemudian menampilkan data
- Memberikan fungsi delete image, jadi pada saat kita delete gambar maka data pada database dan image yang ada di dalam folder akan kita hapus menggunakan fungsi unlink() bawaan dari PHP
Baik pertama – tama kita buat dulu controller upload image nya dengan nama controller/Upload_gambar.php dan masukkan script di bawah ini sekaligus menampilkan data dari database. Ups hampir lupa kita buat terlebih dahulu database nya, bisa lihat gambar di bawah ini
Setting konfigurasinya di file config/database.php
class Upload_gambar extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper(array('form', 'url')); $this->load->database(); } public function index() { $data['error'] = ''; $data['result'] = $this->db->order_by('id','DESC') ->get('upload') ->result(); $this->load->view('upload', $data); } }
Kemudian buat file untuk views nya dengan nama views/uplad.php dan ketikkan script seperti gambar di bawah ini
Kita buat layout untuk menampilkan hasil datanya, masih di dalam file views/upload.php
Maka hasilnya seperti gambar di bawah ini
Pada form action mengarah pada controller upload_gambar dan metod do_upload maka kita buat metod do_upload di dalam controller upload_gambar dan masukkan script di bawah ini
public function do_upload() { $config['upload_path'] = './gambar/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = 0; $config['max_width'] = 0; $config['max_height'] = 0; $this->load->library('upload', $config); if (!$this->upload->do_upload('userfile')){ $error = array('error' => $this->upload->display_errors()); $this->load->view('upload', $error); }else{ $_data = array('upload_data' => $this->upload->data()); $data = array( 'title'=> $this->input->post('title'), 'image' => $_data['upload_data']['file_name'] ); $query = $this->db->insert('upload',$data); if($query){ echo 'berhasil di upload'; redirect('upload_gambar'); }else{ echo 'gagal upload'; } } }
Pada $config[‘upload_path’] kita setting folder mana yang akan menampung imagenya, maka buat folder dengan nama gambar sejajar dengan folder application, kemudian pada proses insert data kita lakukan pengecekan jika berhasil di upload atau insert maka akan di redirect(‘upload_gambar’) ke halaman utama. Kemudian kita coba insert data, jika berhasil maka akan langsung tampil pada table yang sudah kita sediakan pada gambar script nomor 4 dari atas.
Dan kita cek pada folder gambar
Kemudian pada button yang sudah kita berikan id yang mengarah ke metod delete(), kita buat fungsi delete data di dalam metod delete()
Kita buat proses delete datanya
public function delete($id){ $_id = $this->db->get_where('upload',['id' => $id])->row(); $query = $this->db->delete('upload',['id'=>$id]); if($query){ unlink("gambar/".$_id->image); } redirect('upload_gambar'); }
Pada proses delete data kita buat pengecekan, jika berhasil maka kita berikan fungsi unlink() pada image supaya terhapus dari foldernya, jika sudah save dan refresh pada browsernya. Dan klik button delete
Dan pada folder juga akan terhapus
Nah itulah tips tentang Crud Upload Image Codeigniter, Upload, Delete pada artikel selanjutnya kita akan lanjutnya untuk update image dengan codeigniter. Terimakasih dan sampai jumpa.
Semoga bermanfaat.