Tugas 6 PBKK

Tugas 6 PBKK

Pada pertemuan kali ini akan memperbaiki fitur CRUD yaitu broken photo. Seperti yang kita ketahui bersama bahwa CRUD kemarin masih memiliki kecacatan yaitu gambar yang tidak kita input mengalami broken photo seperti gambar dibawah ini :
Untuk memperbaiki hal tersebut maka liatlah tata cara pengerjaannya dibawah ini :
  1. Download foto dibawah ini dengan nama default.jpg lalu letakkan file tersebut pada direktori baru bernama /upload/product/default.jpg
                                               
  2. Setelah mendownload gambar tersebut, maka sekarang akan terlihat seperti gambar dibawah ini :
  3. Membuat Fitur Upload pada CodeIgniter
    Pada file Product_model.php kita tambahkan method _uploadImage() dibawah method delete()
    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";
    }
    
    Lalu kita menambahkan script pada method save() dan update() pada file Product_model.php sehingga menjadi
    public function save()
        {
            $post = $this->input->post();
            $this->product_id = uniqid();
            $this->name = $post["name"];
            $this->price = $post["price"];
            $this->image = $this->_uploadImage();
            $this->description = $post["description"];
            $this->db->insert($this->_table, $this);
        }
    
        public function update()
        {
            $post = $this->input->post();
            $this->product_id = $post["id"];
            $this->name = $post["name"];
            $this->price = $post["price"];
           
           
            if (!empty($_FILES["image"]["name"])) {
                $this->image = $this->_uploadImage();
            } else {
                $this->image = $post["old_image"];
            }
    
            $this->description = $post["description"];
            return $this->db->update($this->_table, array("product_id" => $post['id']));
        }
    
    
  4. Menghapus File yang di-Upload
    Dengan cara menambahkan method pada file Product_model.php dibawah method _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.*"));
        }
    }
    Yang terakhir kita tinggal panggil method _deleteImage() pada method delete()
    public function delete($id)
        {
            $this->_deleteImage($id);
            return $this->db->delete($this->_table, array("product_id" => $id));
        }
    

  5. Setelah semua tata cara yang diatas dilakukan mari kita cek apakah sudah bisa berjalan dengan baik atau belum dengan cara menambah product.
    - Dibawah ini merupakan dokumentasi sebuah product yang tanpa mengupload sebuah file
    - Sementara dibawah ini merupakan dokumentasi sebuah product yang mengupload sebuah file
  6. Cukup sekian untuk pertemuan kali ini.
  7. Untuk Source Codenya bisa dilihat di link dibawah ini :
      Source Code

Komentar

Postingan populer dari blog ini

UTS PBKK A

Tugas 2 PBKK