Menyimpan Gambar di Database MySql dengan PHP

Iseng-iseng ane dapet tugas untuk nyimpen gambar dalam bentuk blob dan menampilkanya dalam browser. Blob itu adalah suatu tipe data DBMS yang berstruktur field biner.

Ok kita langsung ke TKP…
Sekarang kita buat table dulu

CREATE TABLE IF NOT EXISTS `gambar` (`id` bigint(20)
NOT NULL auto_increment,
`file_content`
mediumblob NOT NULL,
`file_name` varchar(255) NOT NULL,
`file_type` varchar(255) NOT NULL,
`file_size` bigint(20)
NOT NULL default ’0′,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

selanjutnya buat file gambar.php dengan script berikut:
<?php
// connect to database
@mysql_connect(“localhost”, “root”, “password database”) OR die (“Tidak Terkoneksi dengan Database”);
@mysql_select_db(“nama database”) OR die (“Terkoneksi Tapi Tidak Terhubung dengan Database Manapun”);
//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 (“insert gagal!”);
echo $file_name.” insert succes”;
// kode untuk menampilkan gambarnya.. lihat source code dari tampilkan.php
echo ” <img src=\”tampilkan.php\”> “;}?>

Langkah selanjutnya membuat lihat.php dengan script berikut:
<?
// Connect ke database
@mysql_connect(“localhost”, “root”, “password database”) OR die (“Tidak Terkoneksi dengan Database”);
@mysql_select_db(“nama database”) OR die (“Terkoneksi Tapi Tidak Terhubung dengan Database Manapun”);
// Query untuk mengambil data ke database untuk ditampilkan. Untuk contoh, kita akan ambil gambar pertama dari database kita,, ditandai dengan
$query = “SELECT file_content, file_name, file_type, file_size FROM file WHERE”;
$result = mysql_query($query);
// hasil dari query tadi kita simpan ke variable
$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

?>

Gimana mudah bukan..

VN:F [1.1.4_465]
Rating: 6.9/10 (9 votes cast)

Incoming search terms for the article:

Share/Save/Bookmark

Related posts:

  1. Format Tanggal dengan Mysql Banyak diantara para programer tidak begitu memanfaatkan fungsi –...
  2. Database Modeling dengan Workbench 5.1.18 Bug nyebelin Yang sudah pada upgred workbench ke 5.1.18a dijamin bakalan kuciwa....
  3. Tools Optimasi Gambar untuk Web Design Bagi seorang web designer untuk mengerjakan suatu design menarik adalah...
  4. Bash Script Monitoring sederhana dengan mail Alert Mungkin suatu ketika anda membutuhkan script untuk memonitor status hardware/PC...

Related posts brought to you by Yet Another Related Posts Plugin.

6 Comments

  1. zee says:

    nice.. thx pal..

    VA:F [1.1.4_465]
    Rating: 0.0/5 (0 votes cast)
  2. haris says:

    Fatal error: Call to undefined function: mysql_real_escape_string() in c:\apache\htdocs\upload\gambar.php on line 22

    tolong pencerahanya ni line 22 di komputer saya..

    $file_content = mysql_real_escape_string($file_content) or die(“Error: cannot read file”);

    VA:F [1.1.4_465]
    Rating: 5.0/5 (1 vote cast)
  3. haris says:

    ni listing keseluruhannya..

    <?php
    // connect to database
    @mysql_connect("localhost","","") OR die ("Tidak Terkoneksi dengan Database");
    @mysql_select_db("upload") OR die ("Terkoneksi Tapi Tidak Terhubung dengan Database Manapun");
    //membuat tampilan. Tampilan berupa upload file. File yang kita upload akan disimpan ke database
    echo "”;
    echo “”;
    echo ” “;
    echo “”;
    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 (“insert gagal!”);
    echo $file_name.”insert succes”;
    // kode untuk menampilkan gambarnya.. lihat source code dari tampilkan.php
    echo ” “;}
    ?>

    VA:F [1.1.4_465]
    Rating: 0.0/5 (0 votes cast)
  4. haris says:

    error keluar pas upload gambar..

    VA:F [1.1.4_465]
    Rating: 0.0/5 (0 votes cast)
  5. haris says:

    lihat.php

    Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\upload\lihat.php on line 9

    Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\upload\lihat.php on line 10

    Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\upload\lihat.php on line 11

    Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\upload\lihat.php on line 12

    Warning: Cannot add header information – headers already sent by (output started at c:\apache\htdocs\upload\lihat.php:9) in c:\apache\htdocs\upload\lihat.php on line 14

    ni listingnya mohon pen cerahannya..

    VA:F [1.1.4_465]
    Rating: 0.0/5 (0 votes cast)
  6. naufal says:

    mungkin ini bisa membantu
    http://www.satudetik.com/wp-content/uploads/2010/06/coba1.zip

    VN:F [1.1.4_465]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply