Sudah kira-kira dua minggu ini saya dan temen-temen seperjuangan yang tergabung dalam Tim Developer ICT SD Muhammadiyah 4 Surabaya memberikan training PHP. Salah satu materi yang saya sempat saya bawakan di pelatihan itu adalah mengenai BLOB di PHP.. Bagi yang belum tau apa itu BLOB, simak pengertian BLOB yang saya ambil dari http://wikipedia.org
A binary large object, also known as a blob, is a collection of binary data stored as a single entity in a database management system. Blobs are typically images, audio or other multimediablob. Database support for blobs is not universal. objects, though sometimes binary executable code is stored as a
Intinya, BLOB adalah suatu cara untuk menyimpan file-file media kayak jpg, mp3, flv, dsb ke dalam database. Bahkan bisa juga untuk type file lain semisal .htm. Database yang biasanya kita isi dengan teks atau angka, kini bisa kita masukkan file-file media.
Pada intinya, saat kita menyimpan file-file media ke dalam database, tahapan-tahapan yang akan kita lewati adalah :
- Membuka/membongkar file media tersebut
- Membaca isi dari file tersebut, maksudnya adalah membaca kode binary yang menyusun file tersebut
- Menyimpan kode binary tersebut ke database, jadi yang disimpan di database sebenarnya adalah kode-kode binarynya, bukan filenya
- Menutup kembali file tersebut
Berikut adalah langkah-langkah dalam pembutan blob :
- Buka phpmyadmin, dan buat database baru,, misalnya database ‘belajar’. Buat table dengan nama ‘file’ dengan kolom-kolom :
- id (type : int)
- file_content (blob): untuk menyimpan kode binarynya
- file_name (varchar) : menyimpan nama file
- file_type (varchar) : menyimpan tipe file
- file_size (int) : menyimpan ukuran file

- Buat file blob.php
// connect to database @mysql_connect("localhost", "root", "") OR die ("NOT CONNECT DATABASE"); @mysql_select_db("belajar") OR die ("CONNECTED, BUT NO DATABASE"); //membuat tampilan. Tampilan berupa upload file. File yang kita upload akan disimpan ke database echo "<form method=\"post\" name=\"form1\" enctype=\"multipart/form-data\">"; echo " <input name=\"file\" type=\"file\">"; echo " <input name=\"submit\" type=\"submit\" value=\"Upload\">"; echo "</form>"; if($_POST[submit]){ //variabel-variabel yang digunakan untuk menyimpan data-data mengenai file ke database $file_name = $_FILES['file']['name']; $tmp_name = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; $file_type = $_FILES['file']['type']; // membuka atau membongkar file $fp = fopen($tmp_name, 'r'); // membaca isi dari file, membaca kode binarynya $file_content = fread($fp, $file_size) or die("Error: cannot read file"); // menyimpan kode binarynya ke variabel, ini yang nanti akan kita simpan di database $file_content = mysql_real_escape_string($file_content) or die("Error: cannot read file"); //menutup kembali filenya fclose($fp); // insert ke database $qu = "INSERT INTO `file` (`file_content`,`file_name`,`file_type`,`file_size`) VALUES ('$file_content','$file_name','$file_type','$file_size')"; $re = mysql_query($qu) or die ("Sorry Cant insert db!"); echo $file_name." inserted succesfully to database"; // kode untuk menampilkan gambarnya.. lihat source code dari tampilkan.php echo " <img src=\"tampilkan.php\"> "; } - Sedangkan source untuk tampilkan.php
// Connect ke database @mysql_connect("localhost", "root", "") OR die ("NOT CONNECT DATABASE"); @mysql_select_db("belajar") OR die ("CONNECTED, BUT NO DATABASE"); // Query untuk mengambil data ke database untuk ditampilkan. Untuk contoh, kita akan ambil gambar pertama dari database kita,, ditandai dengan id=1 $query = "SELECT file_content, file_name, file_type, file_size FROM file WHERE id=1"; $result = mysql_query($query); // hasil dari query tadi kita simpan ke variabel $content = mysql_result($result,0,"file_content"); $name = mysql_result($result,0,"file_name"); $type = mysql_result($result,0,"file_type"); $size = mysql_result($result,0,"file_size"); // header untuk memberi tahu browser jenis data yang akan ditampilkan header("Content-type: $type"); // data gambar/foto dikirim ke browser echo $content
- Kalo udah, tinggal arahkan browsermu ke file blob.php, http://localhost/aaa/blob.php. Disini saya menyimpan file blob.php dan tampilkan.php di folder xampp/htdocs/aaa. Browse gambar yang anda sukai dan tekan tombol upload

Sumber :
- http://wikipedia.org
- http://ilmukomputer.com




April 22, 2009 at 3:05 am |
Matur nuwun atas pendampingannya…
April 23, 2009 at 8:19 am |
gimana cara nya membuat kode php yang misalnya kita menginputkan data bukan dari phpmyadmin kemudian secara otomatis dia langsung mengsave ke database.?
gimana caranya menampilkan hasil inputan tdi ke html lalu secara otomatis dia akan menghitung nilai yang kita inputkan…????
April 26, 2009 at 3:13 pm |
@Pak Gatot : Hahaha.. sama2 pak.. mohon maaf atas segala kekurangan kami waktu ngasih training.. hehe
@cha : Oke,, kalo ada kesempatan, saya mau bikin tutorialnya.. ditunggu ya..
June 11, 2009 at 11:57 am |
mas di upload sih berhasil tapi kok gambarnya ga keluar
August 4, 2009 at 2:44 am |
makasi banyak ilmunya sangat bermanfaat..!!
ini saya mau tanya!! kalau bikin delate image lewat brosernya gimana..???
September 27, 2009 at 5:59 pm |
mas saya udh coba script dan semua penjelasan dari sampeyan, yang saya bingung, semuanya gatot, secara saya pakai Xampp Lite, dari Port : 112, dan dsl portnya juga saya customize sendiri!!!
mohon petunjuknya.. saya benar2 sedang ada masalah soal image ini..
thanks, maaf sebelumnya jika ada salah2 kata..