Tugas 6

Fitur upload foto

1. Buat direktori upload/product karena Direktori yang dituju adalah upload/product

2. Tambahkan foto dan beri nama default.jpg karna jika gambar gagal di load maka gambar yg muncul adalah default.jpg

Maka jika kita insert data Tanpa foto hasilnya akan seperti ini:


3. Membuat fitur upload pada CI

Upload file memiliki alur seperti ini :
-User mengirimkan file melalui form
-File diploid ke server dan disimpan dalam folder tmp dulu
-Pindahkan file dari tmp ke direktori upload/product

Buka model Product_model.php lalu tambahkan method_uploadImage() dibawah method delete.

Berikut isi method_uploadImage():

private function _uploadImage()
    {
        $config['upload_path']          = './upload/product/';
        $config['allowed_types']        = 'gif|jpg|png';
        $config['file_name']            = $this->product_id;
        $config['overwrite']            = true;
        $config['max_size']             = 1024; // 1MB
        // $config['max_width']            = 1024;
        // $config['max_height']           = 768;

        $this->load->library('upload', $config);

        if ($this->upload->do_upload('image')) {
            return $this->upload->data("file_name");
        }
        
        return "default.jpg";
    }  

4. Menggunakan method _uploadImage():
Tambahkan sedikit kode pada methode save() dan update() seperti berikut ini :


Jika Judah melakukan itu semua, maka gambar akan munch saat kita menambahkan produk baru dengan image.

Tampilan produk :



5. Menghapus image yang di upload

Tambahkan method _deleteImage() pada Product_model.php dibawah _uploadImage():

private function _deleteImage($id)
    {
        $product = $this->getById($id);
        if ($product->image != "default.jpg") {
            $filename = explode(".", $product->image)[0];
            return array_map('unlink', glob(FCPATH."upload/product/$filename.*"));
        }
    }

Lalu panggil method _deleteImage() pada method delete():


Comments

Popular posts from this blog

Tugas 8

Tugas 1 PBKK

Tugas 3 PBKK