Tutorial kali ini merupakan jawaban dari salah satu pertanyaan dari pengunjung di posting Upload form sederhana dengan PHP. Show 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 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. 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 save.
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. isi 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 $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 = '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 $dir_gambar = 'C:\xampp\htdocs\galeri\gambar\\'; //direktori dalam server0 😉 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.. |