Cara menggunakan gambar phpmyadmin

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

Cara menggunakan gambar phpmyadmin

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.

Cara menggunakan gambar phpmyadmin

Create database galeri

Dan database galeri pun tercipta namun masih belum memiliki tabel, masukan gambar pada kolom name 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.

Cara menggunakan gambar phpmyadmin

Buat tabel gambar

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

Cara menggunakan gambar phpmyadmin

Jika sudah jangan lupa tekan save.

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

Cara menggunakan gambar phpmyadmin

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.

Cara menggunakan gambar phpmyadmin

isi folder galeri

Cara menggunakan gambar phpmyadmin

Susunan file dan folder

Lalu buat file config.php untuk menyimpan semua variabel penting

<?php
$server = 'localhost'; //server MySQL
$user = 'root'; //username MySQL
$password = ''; //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, $password) ) {
	die(mysql_error());
} else {
	if( !mysql_select_db($db) ){
		die(mysql_error());
	}
}
?>

buat index.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</title>
</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="post">
<table border="0">
<tr>
	<td>Judul</td>
    <td><input type="text" name="judul" />
    </td>
</tr>
<tr>
	<td>Gambar</td>
    <td><input type="file" name="userfile" size="40" /></td>
</tr>
<tr>
	<td><input type="submit" name="submit" value="Unggah" /></td>
    <td></td>
</tr>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" /> <!-- dalam byte {2000000b = 2Mb} -->
</form>
</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>

<body>
<p>
<a href="index.php">depan</a> | <a href="galeri.php">galeri</a>
</p>
<?php
include('db.php');
if( !empty($_REQUEST['j']) ){
	$msg = '<div style="background:#F6F3C0;text-align:center;color:#999;">';
	$msg .= 'Gambar baru telah ditambahkan | <strong>' . $_REQUEST['j'];
	$msg .= '</strong></div>';
	echo $msg;
}
$query = "SELECT * FROM gambar";
$query = mysql_query( $query );
if(!$query){
	die( mysql_error() );
}
while( $rows = mysql_fetch_row($query) ){
	?>
	<p>
	<img src="<?php echo $url_folder_gambar . $rows[2];?>" width="100" />
	</p>
	<?php
	echo $rows[1];
	?>
	<hr />
<?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){
			die( mysql_error() );
		}
		header('Location: galeri.php?j=' . $title);
		exit();
	} else {
		echo "Kemungkinan hacking!\n";
	}
}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 FALSE, coba perhatikan kode:

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

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

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

Langkah langkah menjalankan phpMyAdmin?

Pilihan 2: Cara Membuka phpMyAdmin Tanpa Login cPanel.
Silakan unduh versi terbaru dari phpMyAdmin melalui tautan download phpMyAdmin..
Setelah itu, login ke cPanel dan pilih menu “File Manager”..
Buka direktori public_html kemudian klik menu “Upload”..
Klik tombol Select File dan pilih file phpMyAdmin yang sudah diunduh..

Apa itu Image BLOB?

Sederhananya BLOB adalah suatu cara yang digunakan untuk menyimpan file – file media seperti jpg, mp3, flv, mp4, dll, ke dalam database.

Apakah MySQL bisa menyimpan gambar?

MySQL memiliki tipe data BLOB (binary larger object) yang dapat menampung data biner dalam jumlah besar. Tipe data BLOB sangat cocok untuk menyimpan data gambar.

Langkah langkah import database di phpMyAdmin?

Impor file SQL ke database MySQL.
Masuk ke phpMyAdmin..
Di phpMyAdmin, di menu sebelah kiri, pilih nama database yang ingin Anda gunakan. ... .
Di menu bagian atas, pilih Impor..
Gunakan Pilih file..
Temukan dan pilih file yang ingin Anda impor, lalu pilih Buka..
Di bagian bawah halaman, pilih Mulai..