Upload, Tampil Dan Delete Gambar Di Php
Teknik yang dipakai dalam upload di PHP mungkin sanggup tidak sama – beda, namun intinya proses yaitu sama, file yang di upload oleh user di validasi terlebih lampau sebelum disimpan, lalu bila sudah sesuai dengan ketentuan yang kita inginkan maka file gambar ataupun foto ditampilkan, umumnya validasi yang dilakukan sanggup mencakup pemeriksaaan format gambar, ukuran gambar bahkan juga menyidik rasio gambar berdasarkanukuran pixelnya (px).
Kali ini Saya ingin sedikit mempersembahkan pola yang sangat sederhana bagaimana metode upload, menampilkan dan delete gambar memakai PHP. Teknik upload gambar yang saya lakukan disini mencakup ketentuan / validasi ibarat diberikut
- Bila ukuran Gambar lebih besar dari 1MB atau 1000000 bytes [baca : ] maka gambar tidak akan sanggup di upload
- Bila format file yang dikirim bukan gambar JPG, JPEG, GIF atau PNG maka file juga tidak akan disimpan
- File yang berhasil melewati proses validasi diatas, maka file gambarnya akan di rename terlebih lampau lalu di simpan di folder gambar website yang sudah di buat sebelumnya
- Selanjutnya file gambar/foto yang sudah di rename akan disimpan didalam database dalam bentuk nama gambarnya saja, bukan file secara langsung, alasannya ialah filenya sudah disimpan di folder gambar website
- Ketika file gambar/foto akan ditampilkan maka nanti user sanggup melaksanakan query ibarat biasa, spesialuntuk pada dikala menampilkan gambarnya disertai dengan path/tempat dimana folder gambar disimpan
- Terkahir ialah proses delete gambar, menghapus dari database dan dari folder website kawasan dimana gambar tersimpan memakai perintah unlink
Upload, Tampil dan Delete Gambar di PHP
Untuk membuat halaman upload, tampil dan delete gambar kita memerlukan beberapa file diantaranya, file untuk koneksi ke database, form untuk upload gambar, file untuk memproses/validasi gambar, file untuk menampilkan gambar, dan untuk mendelete gambar. Tapi sebelumnya buat dulu sebuah folder dengan nama ‘gambar’ pada folder projek website Anda.
Jadi disini ceritanya Saya ingin membuat sebuah halaman website yang nantinya menampilkan data nama dan foto siswa maka langkah pertama yang harus Saya lakukan ialah sebagai diberikut
#1 Buat Database
Buat database terlebih lampau misal dengan nama ‘foto’ selanjutnya buat tabel dengan nama misal ‘namasiswa’. Untuk strukturnya nanti kurng lebih ibarat diberikut :
Id (int) 13 auto_increment
Nama (varchar) 30
Foto (varchar) 5000
#2 Buat Koneksi ke Database
Seperti pada umumnya untuk sanggup melaksanakan operasi ke database MySQL maka kita memerlukan sebuah file untuk koneksi ke database
Script koneksi.php
<?php $host="localhost"; $user="root"; $pass=""; $db="foto"; $koneksi=@mysql_connect($host,$user,$pass); if(!$koneksi){ echo "Gagal koneksi=".mysql_error(); exit(); } //memilih database $milih=@mysql_select_db($db,$koneksi); if(!$milih){ exit("Gagal memlih database:".mysql_error()); } ?>
#3 Buat form untuk input gambar/foto
Pada langkah ketiga ini kita harus menyediakan halaman atau antar muka kepada user untuk melaksanakan proses upload data gambar/foto. Form untuk upload gambar ini tidak ibarat form untuk upload data biasa, sehingga nanti bentuk penulisan formnya sebagai diberikut
<form method="post" action="proses.php" enctype="multipart/form-data">
Script input_foto.php
<html> <head> <title>Upload Gambar</title> </head> <body> <form method="post" action="proses.php" enctype="multipart/form-data"> <table> <tr> <th colspan="2">SIMPAN & TAMPIL GAMBAR</th> </tr> <tr> <td>Masukan Nama</td> <td>Pilih Foto</td> </tr> <tr> <td><input type="text" name="nama" id="nama" placeholder="masukan nama" required=""></td> <td><input type="file" name="foto" id="foto" required=""></td> </tr> <tr> <td> </td> <td><input type="submit" name="kirim" id="kirim" value="SIMPAN"></td> </tr> </form> </body> </html>
#4 Buat file untuk validasi gambar / foto yang di upload
Seperti yang sudah Saya jelaskan sebelumnya bergotong-royong nanti dikala user melaksanakan upload gambar, maka gambar yang akan di upload tersebut akan di periksa terlebih lampau. Proses investigasi tersebut meliputi, jenis file yang di upload, dan ukuran file yang di upload. Bila sudah sesuai ketentuan maka halaman akan memproses untuk pribadi menyimpan gambar
Script proses.php
<?php include('koneksi.php'); $aran=$_POST['nama']; $nama=true; if($_POST['nama']==""){ echo "nama masih kosong"; $nama=false; } $cek=($nama)?true:false; //cek jikalau benar if($cek==true){ //menyiapkan validasi gambar yang akan di upload $file=$_FILES['foto']['name']; $tmp_dir=$_FILES['foto']['tmp_name']; $ukuran=$_FILES['foto']['size']; // $direktori='gambar/'; //path kawasan simpan $ektensi=strtolower(pathinfo($file, PATHINFO_EXTENSION)); //dapatkan info gambar $valid_ektensi=array('jpeg','jpg','png','gif'); //ektensi yang dibloehin $gambar=rand(1000,1000000).".".$ektensi; //mulai validasi //cek ektensi gambar if(in_array($ektensi, $valid_ektensi)){ //cek ukuran gambar if(!$ukuran < 1000000) { //jika lebih move_uploaded_file($tmp_dir, $direktori.$gambar); //simpan dan buat query $perintah=sprintf("INSERT INTO namasiswa VALUES('null','%s','$gambar')", $_POST['nama'],'$gambar'); $query=@mysql_query($perintah,$koneksi); //validasi query if(!$query){ echo "Gagal menyimpan:".mysql_error(); }else{ echo "Berhasil disimpan<br/>"; echo "Nama $aran <br/> <img src='$direktori$gambar' height='200'> <br/>berhasil disimpan <br><a href='tampil_foto.php'>Lihat Halaman Berikutnya</a>"; } } else{ echo "Gambar kegedean <br/> <a href='input_foto.php'>Kembali</a>"; } } else{ echo "Gambar yang koe upload ora sesuai<br/> <a href='input_foto.php'>Kembali</a>"; } } ?>
Ketika script proses.php berhasil di sanksi maka nanti kurang lebih akan tampil ibarat diberikut
#5 Menampilkan gambar
Foto yang berhasil diupload maka akan disimpan kedalam sebuah halaman. Disini halaman yang Saya buat untuk menampilkan gambar ialah tampil_foto.php, nanti foto – foto yang berhasil di upload kurang lebih akan terlihat ibarat diberikut
Data gambar yang tersimpan di database spesialuntuk berupa nama gambarnya saja, sedangkan file gambar/foto yang sebenarnya tersimpan di folder ‘gambar’ website.
Sehingga nanti pada dikala proses untuk menampilkan gambar maka dalam data perulangan while denganan mysql_fetch_array perlu disertakan path/folder kawasan dimana gambar disimpan
misal :
<img src="gambar/<?php echo $data['foto'];?>" width="60" height="80">
img src=gambar ialah folder dengan nama ‘gambar’
<?php echo $data['foto'];?> ialah perintah untuk mengambil nama gambar yang tersimpan di DB
Script tampil_foto.php
<?php include('koneksi.php'); $perintah="SELECT * FROM namasiswa order by id desc"; $query=@mysql_query($perintah,$koneksi); ?> <html> <head> <title>Halaman Tampil Foto</title> </head> <body> <table width="500" border="1"> <tr> <th colspan="4">MENAMPILKAN FOTO / <a href="input_foto.php">TAMBAH DATA</a></th> </tr> <tr> <td>NO</td> <td>NAMA</td> <td>FOTO</td> <td>DELETE</td> </tr> <?php while($data=mysql_fetch_array($query)){ ?> <tr> <td><?php echo $data['id'];?></td> <td><?php echo $data['nama'];?></td> <td align="center"><img src="gambar/<?php echo $data['foto'];?>" width="60" height="80"></td> <td colspan="2"><a href="delete.php?del=<?php echo $data['id']?>">DELETE</a></td> <!--path gambarnya sertakan--> </tr> <?php }?> </table> </body> </html>
#6 Delete Foto dari database dan folder gambar
Untuk mendelete data dari database Anda sanggup memakai perintah delete from…… sedangkan nanti untuk proses mendelete data gambarnya Anda perlu memlih databasenya terlebih duhulu lalu dipecah dengan mysql_fetch_array. Bila sudah ibarat itu selanjutnya jalankan perintah unlink yang didepannya disertai dengan parameter path/folder dimana gambar tersimpan
Nanti pada script tampil_foto.php Anda buat link yang mengarah ke file delete.php dan lalu menyimpan variabel data yang bersangkutan.
misal :
<a href="delete.php?del=<?php echo $data['id']?>">DELETE</a>
del=<?php echo $data['id'] ialah nama variabel yang menyimpan data yang bersangkutan lalu nanti pada halaman file delete.php akan menyimpan varibel yang tersimpan tersebut memakai perintah $_GET
script delete.php
<?php include('koneksi.php'); $del=$_GET['del']; $perintah1=sprintf("delete from namasiswa where id=%d",$del); //query untuk delete $perintah2="SELECT * FROM namasiswa where id='$del'"; //wuery untuk pilih db dulu $a=@mysql_query($perintah2,$koneksi); //simpan query ke variabel $a $b=mysql_fetch_array($a); //selanjutnya pecah data dan simpan ke variabel $b unlink("gambar/$b[foto]"); //sekarang jalankan perintah unlink untuk hapus gambar dari folder, ambil data dan didepannya dimenambahkan paramter tempatt dimana folder gambar tersimpan $del2=@mysql_query($perintah1,$koneksi); //query untuk mendelete data di database if($del2){ echo "Gambar berhsil dihapus<br/> <a href='tampil_foto.php'>Kembali</a>"; }else{ echo "Gagal koneksi=".mysql_error(); } ?>
Jadi kurang lebih ibarat ituloah proses upload, tampil dan delete gambar memakai PHP. Mungkin untuk validasi gambar menurut resolusi pixel (px) lebar dan panjang (px) akan dibahas pada artikel diberikutnya.
Video Membuat Halaman Upload, Tampil dan Delete Foto Menggunakan PHP
Post a Comment for "Upload, Tampil Dan Delete Gambar Di Php"