Memasukan file gambar kedalam database dengan tipe data BLOB


Pendahuan Ada dua teknik yang digunakan dalam mengupload file khususnya file gambar yaitu :

  1. Cara pertama : Mengupload file gambar dan menyimpan file gambar tersebut kedalam sebuah folder image, sedangkan nama atau alamat gambar tersebut disimpan kedalam sebuah database gambar.
  2. Cara Kedua : Mengupload dan menyimpan gambar tersebut kedalam sebuah database dengan tipe data BLOB

Cara Kedua Pada artikel ini saya akan menjelaskan cara yang kedua yaitu dengan cara menyimpan file gambar kedalam sebuah database.  kita membutuhkan sebuah file dengan tipedata BLOB atau Binary Large OBject.  untuk itu kita membuat sebuah tabel “gambar”  di database “test” misalnya :

CREATE TABLE gambar ( id INT NOT NULL AUTO_INCREMENT, file_content BLOB, file_name varchar(256) NOT NULL, file_type varchar(256) NOT NULL, file_size int(50) NOT NULL, PRIMARY KEY(id) ) ;

Sehingga jika sudah ada datanya akan tampil seperti dibawah ini. (saya menggunakan PHPMyAdmin)

Tabel Gambar

Adapun file-file yang dibutuhkan adalah :

  1. koneksi.php untuk koneksi ke database
  2. index.php untuk halaman utama dan form upload gambar
  3. upload.php untuk memproses input gambar dan menyimpan ke database
  4. view.php untuk menampilkan data sebuah file gambar yang tersimpan
  5. view2.php untuk menampilkan salah satu gambar yang dipilih

Potongan Program


Lihat Gambar

Setelah gambar di upload dan dijadikan file temporial di server, gambar tersebut dibaca dan diubah dalam bentuk biner. setelah itu nilainya di ubah lagi menjadi serangkaian nilai string untuk selanjutnya disimpan dalam sebuah field dengan tipedata Blob. Menampilkan Gambar Setelah saya coba ternyata gambar yang ditampilkan dalam satu halaman hanya satu. berbeda dengan teknik pertama yang memungkinkan gambar bisa ditampilkan banyak dalam satu halaman karena hanya memanggil alamat gambarnya saja. setelah saya perhatikan ini ada masalah pada syntax header(“Content-type: $data[file_type]”);  dimana dalam sebuah halaman hanya diperbolehkan satu header untuk satu gambar.

Output

Download http://www.4shared.com/file/iCM8bb8g/gambar-blob.html

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Depok, 13-06-2011

<

p style=”text-align:center;”>noname

Advertisements

14 Responses

  1. kang agus, saya mau tanya nih. kang agus pernah tidak membuat web / aplikasi sistem pakar dengan php dan my sql???? kalo pernah tolong di share ya kang. matur nuhun.

    Like

  2. kalo pake oracle form gmana ya?

    Like

    • http://en.wordpress.com/tag/belajar-oracle/

      Like

  3. mas agus,,kalau yang tehnik pertama gmana caranya y,,terima kasih ^.^

    Like

  4. Pak, kalo untuk upload file .doc gimana caranya? apakah sama dengan upload foto? tipe datanya utk di databasenya apa?

    Like

  5. Pak Agus pernah gak buat proyek web karakter avatar seperti yang biasa di game itu..klo ada mohon di share ya Pak..Makasih sebelumnya.

    Like

  6. knp di google tak ada 1pun yg share cara 1 ni bt yg nuwbie lg kelabakn mbok kalau berkenan di share gitu looooh

    Like

  7. mas di saya kok gambarnya terpotong yah? kenapa yah penyebabnya

    Like

  8. Terima kasih… share ilmunya sangat bermanfaat.

    Like

  9. trim akan di coba

    Like

  10. kalo blob gak menuh2in ukuran file .sql?

    Like

  11. kang agus, saya sudah coba operasi file yang dicontohkan kang agus diatas tetapi yang error di bagian ini yaaa:

    $fp = fopen($tmp_name, ‘r’); // open file (read-only, binary)
    $file = fread($fp, $file_size) or die(“Tidak dapat membaca source file”); // read file
    $file_content = mysql_real_escape_string($file) or die(“Tidak dapat membaca source file”); // parse image ke string
    fclose($fp);

    mohon bimbingannya, terima kasih

    Like

  12. Makasih

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: