Thursday, October 7, 2010

Upload gambar ke mysql

Dalam tutorial kali ini membahas upload gambar ke mysql. Pada dasarnya dalam menyimpan gambar ke database terdapat dua cara utama yakni menyimpan nama file atau menyimpan filenya langsung ke dalam database. Tutorial ini menjelaskan bagaimana menyimpan gambar namun hanya nama file gambarnya yang disimpan dengan alasan supaya pada saat database di ekspor ukurannya tidak terlalu besar. Langsung saja kita mulai


Pertama-tama kita siapkan table yang nantinya digunakan untuk menyimpan data gambarnya

CREATE TABLE IF NOT EXISTS `gambar` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`nama` varchar(50) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;


Kemudian kita membuat script untuk melakukan koneksi ke mysql

<?php

$host="localhost";//server

$user="root";//user database

$database= "blog";//nama database

$pass="inidatabaseku";//password database

$con=mysql_connect($host,$user,$pass) or die("tidak dapat melakukan koneksi ke server");

mysql_select_db($database,$con)or die("database tidak ada");

?>

Simpan dengan nama koneksi.php


Selanjutnya kita membuat menu form untuk melakukan upload gambar

<form action="upload.php" method="post" enctype="multipart/form-data" name="form1">

<label>

<input type="file" name="gambar" id="gambar">

</label>

<p>

<label>

<input type="submit" name="button" id="button" value="Submit">

</label>

</p>

</form>

Simpan dengan nama form.htm


Selanjutnya kita membuat proses upload gambar, scriptnya sebagai berikut

<?php

include "koneksi.php";

$nama_gambar = $_FILES['gambar']['name'];

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

$source = $_FILES['gambar']['tmp_name'];

$direktori = "gambar/$nama_gambar";


if( file_exists ($direktori))

{

echo "file <strong>$file_name</strong> sudah ada, upload dengan nama lain

<br/> <a href=form.html>kembali</a>";

exit();

}


elseif

($file_type != "image/png" && $file_type != "image/jpeg" && $file_type != "image/gif")

{

echo "file <strong>$nama_gambar bertype $file_type.</strong> tidak di support, hanya untuk upload gambar (png, jpeg, gif)";

}


else {

move_uploaded_file($source,$direktori);





$input=mysql_query("INSERT INTO gambar (nama)VALUES ('$nama_gambar')");


if ($input)

{

echo "<strong>upload gambar berhasil"; }

else

{

echo "gagal memasukkan data";

}


}

?>

<a href="gambar.php"> daftar gambar</a>

Penjelasan program

$nama_gambar = $_FILES['gambar']['name']; è mengambil nama file

$file_type = $_FILES['gambar']['type']; èmengetahui jenis file

$source = $_FILES['gambar']['tmp_name'];èmenyimpan sementara file


file_exists è digunakan untuk mengecek apakah file telah ada

$file_type != "image/png" && $file_type != "image/jpeg" && $file_type != "image/gif" è digunakan sebagai filter bahwa selain file berformat png, jpeg dan gif tidak bisa terupload.


move_uploaded_fileè memindah file dari tempat sementara ke tempat tujuan/tempat permanen

selanjutnya melakukan proses insert ke dalam database


gambar program pada saat dijalankan



Kemudian pilih file gambar yang akan di upload





Konfirmasi gambar telah di upload



Hasil gambar yang telah terupload

Sekian tutorial singkat ini semoga bermanfaat bagi kita semua, amin.

Download artikel

Download source

No comments:

Post a Comment