Skip to content Skip to sidebar Skip to footer

Cara Buat Upload Foto Ke Dalam Db Mysql

Tutorial kali ini merupakan jawaban dari salah satu pertanyaan dari pengunjung di posting Upload form sederhana dengan PHP.

komentar evan

pertanyaan dari Evan

Disini kita akan mengembangkan fungsi upload sehingga informasi gambar yang di-unggah akan disimpan di database MySQL, pembuatan galeri foto merupakan contoh yang akan kita gunakan dalam penerapannya.

Untuk memudahkan pemahaman dan pembelajaran terhadap upload dan database saya mengesampingkan beberapa faktor keamanan seperti validasi dan pengecekan extensi dari file.

Yang pertama kali harus dibuat adalah database dari gambar, buka phpmyadmin (biasanya ada di http://localhost/phpmyadmin) lalu buat database dengan nama galeri dan tekan tombol Create.

create database galeri

Create database galeri

Dan database galeri pun tercipta namun masih belum memiliki tabel, masukan gambar pada kolom proper noun dan 3 pada kolom number of fields, kita akan membuat tabel gambar dengan 3 field yang masing-masing field-nya akan menampung informasi yang berbeda. Jangan lupa tekan tombol Go jika sudah selesai.

Create table gambar

Buat tabel gambar

Pada halaman berikutnya kita harus mengisi definisi data dari ketiga field yang ingin kita buat, isi seperti gambar dibawah:

Jika sudah jangan lupa tekan relieve.

  • Field: nama field-nya
  • Blazon: tipe information yang akan kita simpan
  • Length/Values: panjang data, tidak semuanya harus diisi
  • Nothing: jika di-cek berarti field tersebut nantinya boleh kosong/tidak diisi
  • Alphabetize: peran dari field
  • AUTO_INCREMENT: nilai dari field akan otomatis  diisi dan nilainya selalu ditambah 1 dari tape sebelumnya

struktur tabel gambar

Struktur tabel gambar

Bagian database beres, tabel gambar dengan struktur datanya telah tercipta, sekarang kita bisa fokus ke PHP.

Pada folder htdocs buat folder galeri dan didalamnya buat lagi folder gambar, lihat gambar.

Folder galeri

isi folder galeri

folder galeri

Susunan file dan folder

Lalu buat file config.php untuk menyimpan semua variabel penting

<?php $server = 'localhost'; //server MySQL $user = 'root'; //username MySQL $countersign = ''; //Password MySQL $db = 'galeri'; //nama database $dir_gambar = 'C:\xampp\htdocs\galeri\gambar\\'; //direktori dalam server $url_folder_gambar = 'http://localhost/galeri/gambar/';  //URL dari direktori jika diakses lewat browser ?>        

Perhatikan variebel $dir_gambar pastikan folder tersebut sudah anda buat terlebih dahulu, jika tidak hal ini akan memicu error.

$dir_gambar = 'C:\xampp\htdocs\galeri\gambar\\'; //direktori dalam server        

Selanjutnya buat file db.php yang manyimpan fungsi koneksi ke database MySQL

<?php include_once('config.php'); //sertakan semua kode yang ada di config.php  if( !mysql_connect($server, $user, $countersign) ) { 	die(mysql_error()); } else { 	if( !mysql_select_db($db) ){ 		die(mysql_error()); 	} } ?>        

buat alphabetize.php sebagai landing page, halaman ini yang akan pertama kali diakses ketika direktori galeri diakses lewat web.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Upload gambar</championship> </head>  <body> <p> <a href="index.php">depan</a> | <a href="galeri.php">galeri</a> </p> <form action="upload.php" enctype="multipart/form-data" method="mail service"> <table border="0"> <tr> 	<td>Judul</td>     <td><input type="text" name="judul" />     </td> </tr> <tr> 	<td>Gambar</td>     <td><input blazon="file" name="userfile" size="40" /></td> </tr> <tr> 	<td><input type="submit" name="submit" value="Unggah" /></td>     <td></td> </tr> <input type="subconscious" name="MAX_FILE_SIZE" value="2000000" /> <!-- dalam byte {2000000b = 2Mb} --> </course> </body> </html>        

galeri.php untuk menampilkan daftar gambar

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Galeri</title> </head>  <trunk> <p> <a href="alphabetize.php">depan</a> | <a href="galeri.php">galeri</a> </p> <?php include('db.php'); if( !empty($_REQUEST['j']) ){ 	$msg = '<div mode="groundwork:#F6F3C0;text-align:center;color:#999;">'; 	$msg .= 'Gambar baru telah ditambahkan | <strong>' . $_REQUEST['j']; 	$msg .= '</strong></div>'; 	repeat $msg; } $query = "SELECT * FROM gambar"; $query = mysql_query( $query ); if(!$query){ 	die( mysql_error() ); } while( $rows = mysql_fetch_row($query) ){ 	?> 	<p> 	<img src="<?php repeat $url_folder_gambar . $rows[2];?>" width="100" /> 	</p> 	<?php 	echo $rows[one]; 	?> 	<60 minutes /> <?php } ?> </body> </html>        

Dan yang terakhir adalah upload.php sebagai file php yang bertanggung jawab terhadap proses upload

<?php if( isset($_REQUEST['submit']) ){  	include('db.php');  	$title = $_REQUEST['judul'] ? htmlspecialchars($_REQUEST['judul']) : 'blun ada judul'; //ternary operator  	$filename = basename($_FILES['userfile']['name']); 	$uploadfile = $dir_gambar . $filename;  	if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 		$query = "INSERT INTO gambar VALUES('', '$title', '$filename')"; 		$query = mysql_query($query); 		if(!$query){ 			dice( mysql_error() ); 		} 		header('Location: galeri.php?j=' . $championship); 		get out(); 	} else { 		echo "Kemungkinan hacking!\due north"; 	} }else{ 	echo "Anda kesasaar? kembali ke <a href='index.php'>jalan yang benar</a>"; } ?>        

Pada kode tersebut saya menggunakan operator logika yang disebut ternary untuk mendapatkan nilai TRUE dan Simulated, coba perhatikan kode:

$title = $_REQUEST['judul'] ? htmlspecialchars($_REQUEST['judul']) : 'blun ada judul'; //ternary operator        

Pola dari ternary adalah statement ? BLOK TRUE : BLOK Simulated; jika argument bernilai TRUE maka BLOK TRUE yang akan dieksekusi sebaliknya jika FALSE maka BLOK Faux yang akan dieksekusi. Jika memungkinkan saya selalu menggunakan ternary, karena kodenya lebih pendek x ? y : z 😉

galeri sederhana dengan php

Galeri sederhana dengan PHP

Selamat mencoba.


Update:
– 11 july 2013; perjelas bagian config.php yang memiliki kemungkinan memicu error.
– 11 july 2013; perbarui file di box.net (download source lawmaking)

nelsongresto.blogspot.com

Source: https://muslimpribadi.wordpress.com/2012/01/08/galeri-foto-sederhana-dengan-php/

Post a Comment for "Cara Buat Upload Foto Ke Dalam Db Mysql"