Artikel IT


 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 :
  1. Membuka/membongkar file media tersebut
  2. Membaca isi dari file tersebut, maksudnya adalah membaca kode binary yang menyusun file tersebut
  3. Menyimpan kode binary tersebut ke database, jadi yang disimpan di database sebenarnya adalah kode-kode binarynya, bukan filenya
  4. Menutup kembali file tersebut
Berikut adalah langkah-langkah dalam pembutan blob :
  1. 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
    tabel
  2. Buat file blob.php
    01
    // connect to database
    02

    03
    @mysql_connect("localhost""root""") OR die ("NOT CONNECT DATABASE");
    04
    @mysql_select_db("belajar") OR die ("CONNECTED, BUT NO DATABASE");
    05

    06
    //membuat tampilan. Tampilan berupa upload file. File yang kita upload akan disimpan ke database
    07

    08
    echo "<form method=\"post\" name=\"form1\" enctype=\"multipart/form-data\">";
    09
    echo " <input name=\"file\" type=\"file\">";
    10
    echo " <input name=\"submit\" type=\"submit\" value=\"Upload\">";
    11
    echo "</form>";
    12

    13
    if($_POST[submit]){
    14

    15
    //variabel-variabel yang digunakan untuk menyimpan data-data mengenai file ke database
    16
        $file_name $_FILES['file']['name'];
    17
        $tmp_name  $_FILES['file']['tmp_name'];
    18
        $file_size $_FILES['file']['size'];
    19
        $file_type $_FILES['file']['type'];
    20

    21
    // membuka atau membongkar file
    22
        $fp fopen($tmp_name'r');
    23
    // membaca isi dari file, membaca kode binarynya
    24
        $file_content fread($fp$file_sizeor die("Error: cannot read file");
    25
    // menyimpan kode binarynya ke variabel, ini yang nanti akan kita simpan di database
    26
        $file_content = mysql_real_escape_string($file_content)or die("Error: cannot read file");
    27
    //menutup kembali filenya
    28
        fclose($fp);
    29

    30
        // insert ke database
    31
        $qu = "INSERT INTO `file`
    32
                    (`file_content`,`file_name`,`file_type`,`file_size`)
    33
                    VALUES
    34
                    ('$file_content','$file_name','$file_type','$file_size')";
    35
     $re = mysql_query($quor die ("Sorry Cant insert db!");
    36
     echo $file_name." inserted succesfully to database";
    37

    38
    // kode untuk menampilkan gambarnya.. lihat source code dari tampilkan.php
    39
      echo " <img src=\"tampilkan.php\"> ";
    40
    }
  3. Sedangkan source untuk tampilkan.php
    01
    // Connect ke database
    02
    @mysql_connect("localhost""root""") OR die ("NOT CONNECT DATABASE");
    03
    @mysql_select_db("belajar") OR die ("CONNECTED, BUT NO DATABASE");
    04

    05
    // Query untuk mengambil data ke database untuk ditampilkan. Untuk contoh, kita akan ambil gambar pertama dari database kita,, ditandai dengan id=1
    06
    $query "SELECT file_content, file_name, file_type, file_size FROM file WHERE id=1";
    07
    $result = mysql_query($query);
    08

    09
    // hasil dari query tadi kita simpan ke variabel
    10
    $content = mysql_result($result,0,"file_content");
    11
    $name = mysql_result($result,0,"file_name");
    12
    $type = mysql_result($result,0,"file_type");
    13
    $size = mysql_result($result,0,"file_size");
    14

    15
    // header untuk memberi tahu browser jenis data yang akan ditampilkan
    16
    header("Content-type: $type");
    17

    18
    // data gambar/foto dikirim ke browser
    19
    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
hasil
Materi referensi

Tidak ada komentar:

Posting Komentar