;

Menyimpan File Gambar Kedalam Database SQL Server Dengan PHP CODEIGNITER 3


Assalamu alaikum,

Kali ini saya akan membuat tutorial CODEIGNITER 3 dan SQL SERVER, yaitu bagaimana cara menyimpan File gambar kedalam table database dengan format VARBINARY.

Sebenarnya tidak begitu disarankan menyimpan file kedalam database langsung, karena memiliki beberapa kekurangan, terutama masalah resource yg cepat membengkak. Namun dalam beberapa kasus kita perlu menyimpan file kedalam database.

Ok, mari kita lanjutkan tutorialnya. 

Baca juga :

cara memilih bahasa pemrograman

Menampilkan pesan error di PHP

Image Preview dengan VUE JS

 

Pertama-tama kita buat struktur tabelnya terlebih dahulu

Data yang kita simpan ke dalam tabel database berupa data blob, nama, dan jenis file, yg seluruhnya kita peroleh dari gambar yang kita upload.

Kemudian buat form upload didalam folder views beri saja dengan nama index.php

Pastikan menambahkan atribut ecntype="multipart/form-data" pada tag "form" agar form dapat mengirim file ke backend

Kemudian buat fungsi pada controller Profile untuk mengupload gambar seperti pada contoh dibawah

Dan bagian paling penting ada disini, silahkan buat fungsi untuk menyimpan gambar ke tabel database, kurang lebih kodingannya seperti pada contoh dibawah

Konsep utama dari koding yg saya tulis ini adalah mengambil isi dari file yang kita upload dan mengubahnya mejadi data binary agar bisa disimpan kedalam database. pertama-tama kita mengambil isi dari file tersebut menggunakan fungsi bawaan PHP yaitu fread(), fungsi ini akan mengembalikan binary string, silahakan baca disini untuk informasi lebih lanjut tentang fungsi tersebut 

Kemudian binary string yang kita peroleh tadi kita ubah lagi ke binary menggunakan fungsi unpack() yang saya  bungkus didalam fungsi mssql_escape() yang saya buat.

Dan terakhir, jangan lupa untuk men"casting" data binary yg kita peroleh tadi kedalam VARBINARY(MAX) menggunakan fungsi CAST pada SQL, karena tipe data field blob_content yang kita buat diawal tadi adalah VARBINARY(MAX).

Dan seleseai, sekian tutorial dari saya.

Btw kode ini belum saya test sama sekali, jika memang ada error pada kode ini silahkan report pada kolom komentar

Comments