Tutorial kali ini akan membuat program upload dengan PHP dan MYSQL. Saya menggunakan tipe data BLOB untuk menyimpan file gambar yang nanti akan di upload.
Step 1 – MEMBUAT DATABASE DAN TABEL
Seperti tutorial PHP dan MYSQL yang lain kita harus mengawali nya dengan membuat database dan tabel. Saya akan membuat database dengan nama MYDB dan tabel dengan nama IMAGE.
Tuliskan sintaks SQL berikut:
CREATE DATABASE MYDB;
Lalu aktifkan database MYDB
USE MYDB;
Selanjutnya saya membuat tabel IMAGE.
CREATE TABLE IMAGE ( id int not null auto_increment primary key, nama varchar(200), gambar longblob );
Step 2 – MEMBANGUN KONEKSI
Selanjutnya kita membuat koneksi dengan PHP ke server MySQL.
<?php $host = "localhost"; $username = "root"; $password = ""; $dbname = "mydb"; $conn = mysqli_connect($host, $username, $password, $dbname); if (mysqli_connect_errno()) { echo "gagal"; exit(); } ?>
Simpan dengan nama file koneksi.php.
Step 3 – MEMBUAT HALAMAN UPLOAD
Disini kita membuat form dan input type file untuk mengupload gambarnya.
Tuliskan sintaks seperti berikut dan simpan dengan nama file upload.php
<!DOCTYPE html> <html> <head> <title>Upload</title> </head> <body> <form action="do_upload.php" enctype="multipart/form-data" method="post"> <table> <tr> <td>Nama</td> <td><input type="textfield" name="nama"></td> </tr> <tr> <td>Pilih Gambar</td> <td><input type="hidden" name="MAX_FILE_SIZE" value="500000"> <input type="file" name="gambar"></td> </tr> <tr> <td> </td> <td><input type="submit" name="simpan" value="Simpan"></td> </tr> </table> </form> </body> </html>
Step 4 – MEMBUAT PROSES UPLOAD
Step selanjutnya adalah membuat file proses untuk upload dengan sintaks PHP. Tulis sintaks PHP berikut.
<?php if (isset($_POST['simpan'])) { $nama = $_POST['nama']; require 'koneksi.php'; $tempfile = $_FILES['gambar']['tmp_name']; $filename = $_FILES['gambar']['name']; $targetdir = getcwd() ."\\". $filename; if ($tempfile) { copy($tempfile, $targetdir); } $targetdir = str_replace("\\", "/", $targetdir); $sql = "insert into image(nama, gambar) ". "values('$nama', ". "load_file('$targetdir'))"; mysqli_query($conn, $sql); $num = mysqli_affected_rows($conn); if ($num > 0) { echo "Data disimpan <a href='showdata.php'>Lihat Data</a>"; } else { echo "gagal"; } } ?>
Simpan dengan nama file do_upload.php
Step 5 – MENAMPILKAN DATA
Setelah kita telah berhasil mengupload lalu kita buat file untuk menampilkan data tersebut. Tuliskan sintaks PHP berikut.
<!DOCTYPE html> <html> <head> <title>Show Data</title> </head> <body> <?php require 'koneksi.php'; $sql = "select id, nama ". "from image"; $result = mysqli_query($conn, $sql); $num = mysqli_num_rows($result); if ($num > 0) { ?> <table border="1"> <tr> <th>Id</th> <th>Nama</th> <th>Gambar</th> </tr> <?php while (list($id, $nama) = mysqli_fetch_array($result)) { ?> <tr> <td valign="top"><?php echo $id; ?></td> <td valign="top"><?php echo $nama; ?></td> <td><img src="showblob.php?id=<?php echo $id; ?>" style="width: 400px;"></td> </tr> <?php } ?> </table> <?php } ?> </body> </html>
Simpan dengan nama file showdata.php
Step 6 – MENAMPILKAN GAMBAR
Yang kita butuhkan selanjutnya adalah proses untuk menampilkan gambar yang dipanggil melalui file showdata.php.
Tulis sintaks PHP seperti berikut.
<?php require 'koneksi.php'; $id = $_GET['id']; $sql = "select gambar from image ". "where id = '$id'"; $result = mysqli_query($conn, $sql); $row = mysqli_fetch_row($result); $image =$row[0]; header("Content-type: image/jpeg"); echo $image; ?>
Simpan dengan nama file showblob.php.
Nah sekarang anda sudah berhasil upload gambar dengan PHP. Selamat belajar.
Terima Kasih telah membaca.
***PIU***