Contoh Source Code PHP Untuk Menyimpan Gambar Ke Dalam Database

Sebelum kita dapat menyimpan data gambar maka harus dibuat terlebih dahulu tabel didalam sebuah database jika database belum ada silahkan untuk membuatnya terlebih dahulu. Baca cara . File gambar yang nantinya tersimpan akan diperkecil ukurannya namun dengan rasio yang tetap.

File tersebut tersimpan dalam bentuk biner dan tidak dapat diterjemaahkan secara langsung, jadi maksudnya bukan path dimana file itu disimpan sehingga untuk dapat menampilkannya anda harus membuat file tersendiri. 

Anda bisa menggunakan tipe data blob, medium blob ataupun long blob. Berikut tipe data atau struktur tabel yang harus anda buat.

database
Berikut adalah Contoh Source Code Untuk Menyimpan Gambar Ke Dalam Database. Jangan lupa untuk membuat koneksi ke databse terlebih dahulu. Silahkan baca Cara Membuat Koneksi ke Database Mysql Menggunakan Script PHP

silahkan copy kode di bawah ini

<?php

include('koneksi.php');

if(isset($act)&&$act=="up_foto"){

$id=trim($id);

$editFormAction=$_SERVER['PHP_SELF'];

$img_thumb_width=220;

$img_thumb_width="thumb";

$file_type=$_FILES['imgfile']['type'];

$file_name=$_FILES['imgfile']['name'];

$file_size=$_FILEs['imgfile']['size'];

$file_tmp=$_FILES['imgfile']['tmp_name'];

//melakukan pengecekan apakah user telah melakukan pemilihan gambar

if(!is_uploaded_file($file_tmp)){

echo "<br> Anda belum memilih gambar untuk diupload, silahkan pilih gambar terlebih dahulu";

echo '<meta http-equiv="refresh" content="2; URL=simpan_photo.php">';

exit();

}

//User tidak diizinkan mengupload jika file yang dipilihnya bukan dalam bentuk gambar

$size=GetImageSize("$file_tmp");

if(($size[2]<1) || ($size[2]>4)){

echo '<br> File yang akan anda unggah bukan dalam bentuk gambar';

echo '<meta http-equiv="refresh" content="2; URL=simpan_photo.php">';

exit();

}



//mendapatkan jenis file

$getExt=explode('.',$file_name);

$file_ext=$getExt[count($getExt)-1];



//melakukan pemberian nama secara acak

$rand_name="tmp";

//Mendapatkan lebar ukuran gambar baru

$ThumbWidth=$img_thumb_width;

//Menjaga ukuran gambar

if($file_size){

if($file_type=="image/pjpeg"||$file_type=="image/jpeg"){

$new_img=imagecreatefromjpeg($file_tmp);

}elseif($file_type=="image/x-png"||$file_type=="image/png"){

$new_img=imagecreatefrompng($file_tmp);

}elseif($file_type=="image/gif"){

$new_img=imaggecreatefromgif($file_tmp);

}

//menyimpan lebar dan tinggi gambar menjadi sebuah ratio gambar

list($width,$height)=getimagesize($fie_tmp);

$imageratio=$width/$height;

if($imgratio>1){

$newwidth=$ThumbWidth;

$nweheight=$ThumbWidth/$imgratio;

}else{

$newheight=$ThumbWidth;

$newwidth=$ThumbWidth*$imgratio;

}

//fungsi untuk mengubah ukuran gambar

if(function_exist(imagecreatetruecolor)){

$resized_img=imagecreatetruecolor($newwidth,$nweheight);

}else{

die("Error.Please make sure you have GD library ver 2 +");

}

imagecopyresized($resized_img,$new_img,0,0,0,0,$newwidth,$newheight,$width,$height);

//menyimpan gambar

imageJpeg($resized_img,"$path_thumbs/$rand_name.$file_ext");

ImageDestroy($resized_img);

ImageDestroy($new_img);

$gmb_baru="$path_thumbs/$rand_name.$file_ext";

//proses penyimpanan gambar kedalam databse

$fp=fopen($gmb_baru,'r') or die('Tidak bisa membuka gambar');

$data=fread($fp,filesize("$gmb_baru"));

$data=mysql_escape_string($data);

$sql="INSERT INTO photo SET id=foto='$data'";

$query=mysql_query($sql);

}

}







?>

<h2>
 Simpan Gambar kedalam Database</h2>
<form method="POST" enctype="multipart/form-data" action="<?php echo $editFormAction;?>
?act=up_foto">



<input name="imgfile" type="file" id="imgfile" size="35"/>

<input type="Submit" name="submit" Value="Submit"/>

</form>
<!--Menampilkan Photo-->



<?php

$sql=mysql_query("SELECT id FROM photo ORDER BY id DESC limit 9") or die(mysql_error());

$n=1;

while($res=mysql_fetch_array($sql)){if($n%3==0){?>

<img align="middle" src="lihat_gambar.php?id=<?=$res[id]?>" alt="photo" />

<br/><br/>

<?php }else{?>

<img align="middle" src="lihat_gambar.php?id=<?=$res[id]?>" alt="photo" />

<?}?>

<? $n+=1;}?>







Jika sudah selesai, sekarang kita tinggal memikirkan bagaimana cara untuk menampilkan data gambarnya. Anda bisa menggunakn script php berikut untuk menampilkan data gambar yang tersimpan dalam database
                                Script Untuk Menampilkan Gambar

Silahkan copy kode php dibawah ini
 


<?php

include('koneksi.php');



$sql=mysql_query("SELECT * FROM photo where id ='$id'")or die (mysql_error());

while($res=mysql_fetch_array($sql)){

echo $res['photo'];

}

mysql_free_result($sql);

?>


Mudah bukan? Sekarang anda bisa langsung mencobanya, anda bisa menerapkannya diwebsite yang anda miliki. Contoh script yang saya berikan masihlah sangat sederhana , anda bisa memodifikasinya supaya bisa lebih sempurna. Selamat mencoba dan semoga berhasil.

3 Responses to "Contoh Source Code PHP Untuk Menyimpan Gambar Ke Dalam Database "

  1. waduuh...saya bingung mau komentar apa nie mas? gak mudeng saya mah...
    ijin follow blognya aja deh :)

    ReplyDelete
  2. kunjungan pertama nih...
    makasih sob artikelnya sangat membantu...

    ReplyDelete
  3. ternyata lumayan rumit juga ya mas source code ini, sepertinya mas zaelani sudah hafal banget nih soalnya PHP. semoga aja nggak di PHP-in ya hehehe :D

    ReplyDelete

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin