Cara menggunakan upload gambar mentah di php

Cara membuat CRUD Codeigniter yang dilengkapi gambar dan foto. CRUD adalah sesuatu yang perlu dipelajari saat kita membuat aplikasi dinamis, atau saat kita mempelajari bahasa pemrograman baru yang terhubung dengan database.  


Baca Juga. tutorial CRUD codeigniter 4 Untuk Pemula


Framework Codeigniter merupakan framework PHP yang banyak digunakan saat ini karena mudah dipahami dan digunakan, selain itu codeigniter memiliki banyak library helper yang lengkap.


Saat kita mengakses sebuah aplikasi web yang menyajikan sebuah artikel atau berita, biasanya terdapat foto atau gambar yang dihadirkan sebagai pelengkap artikel atau berita tersebut. Pada tutorial kali ini kita akan membuat CRUD untuk modul berita dan artikel agar memudahkan kita dalam menginput, mengubah dan menghapus suatu berita atau artikel yang terhubung dengan database dilengkapi dengan upload gambar di codeigniter 4 dengan mudah


Instalasi Codeigniter4


Jika anda belum mengerti cara install codeigniter 4 silahkan baca tutorial sebelumnya. Cara Instal Codeigniter 4


Membuat Basis Data


Mari buat database dengan nama blog dan juga 1 tabel dengan nama artikel seperti struktur tabel berikut


Cara menggunakan upload gambar mentah di php


Jika Anda tidak mengerti cara membuat database mysql, silakan baca. Cara membuat database mysql


Membuat Koneksi Database


Untuk membuat koneksi database di codeigniter 4 ada dua cara, cara pertama yaitu dengan mengganti nama file env menjadi. env yang ada di folder proyek root atau dengan file Database. php yang ada di folder app/config dan admin menggunakan file tersebut. kira-kira


 database.default.hostname = localhost
 database.default.database = blog
 database.default.username = root
 database.default.password =
 database.default.DBDriver = MySQLi


Cari kode diatas lalu edit hilangkan tanda pagar (#) lalu sesuaikan dengan host, username, password dan nama database anda kemudian simpan jangan lupa juga ubah CI_ENVIRONMENT = development


Membuat Controller


Buat file controller baru dengan nama Blog. php simpan di folder app/controllers lalu masukkan kode berikut


validate([]))
        {
            $data['validation'] = $this->validator;
            $data['artikel'] = $model->getArtikel();
            return view('view_list',$data);
        }
    }

    public function form(){
        helper('form');
        return view('view_form');
    }

    public function view($id){
        $model = new ModelsBlog();
        $data['artikel'] = $model->PilihBlog($id)->getRow();
        return view('view',$data);
    }

    public function simpan(){
        $model = new ModelsBlog();
        if ($this->request->getMethod() !== 'post') {
            return redirect()->to('blog');
        }
        $validation = $this->validate([
            'file_upload' => 'uploaded[file_upload]|mime_in[file_upload,image/jpg,image/jpeg,image/gif,image/png]|max_size[file_upload,4096]'
        ]);
 
        if ($validation == FALSE) {
        $data = array(
            'judul'  => $this->request->getPost('judul'),
            'isi' => $this->request->getPost('isi')
        );
        } else {
            $upload = $this->request->getFile('file_upload');
            $upload->move(WRITEPATH . '../public/assets/images/');
        $data = array(
            'judul'  => $this->request->getPost('judul'),
            'isi' => $this->request->getPost('isi'),
            'gambar' => $upload->getName()
        );
        }
        $model->SimpanBlog($data);
        return redirect()->to('./blog')->with('berhasil', 'Data Berhasil di Simpan');
    }

    public function form_edit($id){
        $model = new ModelsBlog();
        helper('form');
        $data['artikel'] = $model->PilihBlog($id)->getRow();
        return view('form_edit',$data);
    }

    public function edit(){
        $model = new ModelsBlog();
        if ($this->request->getMethod() !== 'post') {
            return redirect()->to('blog');
        }
        $id = $this->request->getPost('id');
        $validation = $this->validate([
            'file_upload' => 'uploaded[file_upload]|mime_in[file_upload,image/jpg,image/jpeg,image/gif,image/png]|max_size[file_upload,4096]'
        ]);
 
        if ($validation == FALSE) {
        $data = array(
            'judul'  => $this->request->getPost('judul'),
            'isi' => $this->request->getPost('isi')
        );
        } else {
        $dt = $model->PilihBlog($id)->getRow();
        $gambar = $dt->gambar;
        $path = '../public/assets/images/';
        @unlink($path.$gambar);
            $upload = $this->request->getFile('file_upload');
            $upload->move(WRITEPATH . '../public/assets/images/');
        $data = array(
            'judul'  => $this->request->getPost('judul'),
            'isi' => $this->request->getPost('isi'),
            'gambar' => $upload->getName()
        );
        }
        $model->edit_data($id,$data);
        return redirect()->to('./blog')->with('berhasil', 'Data Berhasil di Ubah');
        
    }

    public function hapus($id){
        $model = new ModelsBlog();
        $dt = $model->PilihBlog($id)->getRow();
        $model->HapusBlog($id);
        $gambar = $dt->gambar;
        $path = '../public/assets/images/';
        @unlink($path.$gambar);
        return redirect()->to('./blog')->with('berhasil', 'Data Berhasil di Hapus');
    }

}
_


Jangan lupa untuk membuat folder assets and images pada folder publik sebagai tempat menyimpan gambar/gambar yang kita upload


Membuat Model


Buat file Model baru dengan nama ModelsBlog. php lalu simpan di folder app/Models lalu ketikkan kode berikut


findAll();  
    }
    public function SimpanBlog($data)
    {
        $query = $this->db->table($this->table)->insert($data);
        return $query;
    }
    public function PilihBlog($id)
    {
         $query = $this->getWhere(['id' => $id]);
         return $query;
    }
    public function edit_data($id,$data)
    {
        $query = $this->db->table($this->table)->update($data, array('id' => $id));
        return $query;
    }
    public function HapusBlog($id)
    {
        $query = $this->db->table($this->table)->delete(array('id' => $id));
        return $query;
    }
 }

Membuat Tampilan


Kali ini kita akan membuat empat tampilan file yang digunakan untuk menampilkan daftar, tampilan data, form input data, dan form edit data. Silahkan ikuti petunjuk di bawah ini lalu ketikkan kode di bawah ini lalu simpan di folder app/view



1. Buat file baru view_list. php Untuk daftar artikel/berita/blog




	
	Membuat CRUD Input Gambar
	


	

CRUD BERITA ARTIKEL


Input Artikel Baru
getFlashdata('berhasil'))){ ?>
getFlashdata('berhasil');?>
getErrors(); if(!empty($errors)) { echo $validation->listErrors(); } ?>
No Judul Gambar Aksi
View | Edit | Hapus
Maka akan terlihat seperti berikut


Cara menggunakan upload gambar mentah di php




2. Buat tampilan File Baru. php Untuk Melihat Detail Artikel/Berita/Blog





	
	Membuat CRUD Input Gambar
	


	

judul; ?>


gambar)) { echo 'gambar").'" width="30%">'; } ?> isi; ?>
_


Maka akan terlihat seperti ini


Cara menggunakan upload gambar mentah di php




3. Buat file baru view_form. php Untuk Masukan Data




	
	Membuat CRUD Input Gambar
	
    


	

CRUD BERITA ARTIKEL



Maka akan terlihat seperti ini


Cara menggunakan upload gambar mentah di php



Dari tampilan form diatas terdapat text editor ckeditor jika anda belum tahu cara install text editor ckeditor silahkan baca artikel sebelumnya yaitu Cara Install Ckeditor di Codeigniter 4



4. Buat File Baru form_edit. php Untuk Mengedit Data




	
	Membuat CRUD Input Gambar
	
    


	

CRUD BERITA ARTIKEL



gambar)) { echo 'gambar").'" width="150">'; } ?>
_



Maka akan terlihat seperti ini


Cara menggunakan upload gambar mentah di php


Hapus data


Jika data berhasil dihapus maka tampilan akan seperti berikut



Cara menggunakan upload gambar mentah di php


Lalu buka composer masuk ke folder root codeigniter 4 lalu ketikkan php spark serve kemudian buka web browser dan ketik alamatnya. http. // localhost. 8080/blog kemudian kita coba jalankan jika berhasil maka akan muncul tampilan form seperti di atas


Kesimpulan


Pada tutorial diatas kita telah membuat sebuah aplikasi sederhana yaitu untuk membuat fitur tambah, edit, hapus dan lihat atau sering disebut CRUD dengan menggunakan upload file atau gambar di codeigniter 4

 

Codeigniter 4 merupakan framework PHP yang banyak digunakan di kalangan developer Indonesia dalam membuat aplikasi website


Semoga sedikit tutorial yang dapat admin berikan dapat menginspirasi pembaca untuk mengembangkan aplikasi yang lebih kompleks