Categories: Tutorial Php

Tutorial Menyimpan Gambar ke Database Menggunakan Php

Tutorial Menyimpan Gambar Ke Database akan menjelaskan cara menyimpan gambar ke database dan cara menampilkan gambar yang telah disimpan di database. Untuk bisa mengikuti tutorial ini anda harus mengerti cara mengupload gambar dengan PHP. Ada dua cara menyimpan gambar ke database:

  1. Menyimpan gambar ke database dengan tipe data blob,
  2. Menyimpan gambar ke dalam sebuah folder dan mencatat lokasi dan informasi gambar ke database.

Yang akan dibahas di tutorial ini adalah langkah pertama, Menyimpan gambar ke database dengan tipe data blob.

Menyimpan Gambar Ke Database Dengan Tipe Data Blob

Ada beberapa hal yang perlu dilakukan sebelum bisa menyimpan gambar ke dalam sebuah field table database yang bertipe blob.

Mempersiapkan Database dan Table

Buatlah sebuah database dengan nama misalkan “gallery“. Kemudian buat tabel di dalamnya dengan nama “pictures” dengan struk seperti di bawah:

Nama Field Tipe Data Keterangan
id integer primary key, auto increment
file_name varchar(100)
mime_type
varchar(50)
file_data mediumblob

 

Atau gunakan SQL Query berikut:

    create database gallery;  
    use gallery;  
    CREATE TABLE `pictures` (  
      `id` int  NOT NULL AUTO_INCREMENT,  
      `file_name` varchar(100)  NOT NULL,  
      `mime_type` varchar(50)  NOT NULL,  
      `file_data` mediumblob  DEFAULT NULL,  
      PRIMARY KEY (`id`)  
    );  

Membuat Upload Form

Buat html form untuk mengupload gambar, gunakan script di bawah:

    <!-- file form.html-->  

<form name="form1" id="form1" method="post" action="upload.php" enctype="multipart/form-data">  
      Gambar: <input type="file" name="gambar" id="gambar" />  
      <input type="submit" name="Submit" id="Submit" value="Upload" />  
    </form>

  

Simpan dengan nama file form.html.

Menyimpan Gambar Ke Database

Langkah selanjutnya adalah menyimpan gambar ke database, gunakalah script php di bawah untuk menyimpan gambar ke database.

    <?php $connection = mysql_connect("dbhost", "dbuser", "dbpassword"); //sesuaikan dengan database anda mysql_select_db("gallery"); if($_FILES['gambar']['size'] > 0 && $_FILES['gambar']['error'] == 0){  
      $fileName = $_FILES['gambar']['name'];  
      $mimeType = $_FILES['gambar']['type'];  
      $tmpFile = fopen($_FILES['gambar']['tmp_name'], 'rb'); // (fileName, mode)  
      $fileData = fread($tmpFile, filesize($_FILES['gambar']['tmp_name']));  
      $fileData = addslashes($fileData);  
        
      $query = "insert into pictures set file_name='$fileName',mime_type='$mimeType', file_data='$fileData'";  
      mysql_query($query) or die("Upload Gambar Gagal: ".mysql_error());  
      echo "Gambar telah disimpan";  
    }  
    ?>   

Di baris 8, file yang diupload dibuka menggunakan fungsi fopen dengan mode ‘rb’ yang artinya membuka file dengan mode read dan mode binary. Di baris 9 membaca file yang telah dibuka di baris 8 dengan fungsi fread. Selanjutnya di baris 12 dan 13 menyimpan gambar ke database. Simpan script di atas dengan nama upload.php.
Menampilkan Gambar Dari Database

Langkah terakhir adalah menampilkan gambar yang telah disimpan di database. Untuk menampilkan gambar dibutuhkan 2 file. File gambar.php untuk me-render gambar dan file gallery.php untuk menampilkan gallery keseluruhan gambar yang tersimpan di database. Gunakanlah script berikut:

File gambar.php

    <?php $connection = mysql_connect("dbhost", "dbuser", "dbpassword"); //sesuaikan dengan database anda mysql_select_db("gallery"); $idFile = $_GET['id']; $dataGambar = mysql_fetch_array(mysql_query("select * from pictures where id='$idFile'")); $filename = $dataGambar['file_name']; $mime_type = $dataGambar['mime_type']; $filedata = $dataGambar['file_data']; header("content-disposition: inline; filename=$filename"); header("content-type: $mime_type"); header("content-length: ".strlen($filedata)); echo ($filedata); ?>   

File gallery.php

    <?php  
    $connection = mysql_connect("dbhost", "dbuser", "dbpassword"); //sesuikan dengan database anda  
    mysql_select_db("gallery");  
      
    $query = "select  * from pictures";  
    $result = mysql_query($query);  
    $i=1;  
    echo '
<table>';  
    echo '
<tr>';  
    while($gambar = mysql_fetch_array($result)){  
      echo '
<td><img src="gambar.php?id='.$gambar['id'].'" width="150" /></td>

';  
      if($i % 4 == 0){  
        echo '</tr>
<tr>';  
      }  
      $i++;  
    }  
    echo '</tr>

';  
    echo '</table>

';  
    ?>   

Download Tutorial dilengkapi source code

Demikian yang dapat kami share kepada sobat source code aplikasi pada kesempatan ini, semoga dapat bermanfaat dan bisa menjadi referensi pemrograman bagi anda. Jangan lupa like Fan Page kami, dan SUBSCRIBE Channel Youtube kami untuk dapatkan update source code aplikasi terbaru.
Ahmad Code

Recent Posts

Source code aplikasi Digital Library (digilib) berbasis php

Digilib Digital Library merupakan aplikasi yang dibuat dengan tujuan untuk mempermudah proses pemonitoran perpustakaan untuk…

2 hours ago

Source code aplikasi rekrutmen karyawan berbasis web

Aplikasi  rekrutmen karyawan berbasis web ini dibangun menggunakan codeigniter, cukup lengkap untuk sebuah aplikasi rekrutmen.…

8 hours ago

Source code aplikasi memilih lokasi di Indonesia berbasis web

Script yang akan kami share kali ini digunakan untuk form input nama lokasi, yang pertama…

14 hours ago

Source Code Aplikasi Cuti Karyawan menggunakan php

Meskipun masih sederhana tapi aplikasi cuti karyawan online ini cukup bagus untuk dijadikan bahan pembelajaran…

20 hours ago

Source Code Aplikasi Kartu Rencana Studi (krs) Online

Sistem Perwalian Online Sistem kartu rencana studi online berbasis web, dibuat dengan menggunakan Codeigniter 2.1*.…

1 day ago

Source Code Aplikasi Managemen Surat Berbasis Web

Kemajuan teknologi hari ini menuntut aktifitas manusia untuk berjalan menjadi lebih aktif dan cepat. Tidak…

1 day ago