Menu Melayang

Kamis, 22 Agustus 2013

Upload dan Hapus File Gambar dengan PHP


Bagi sahabat belajar pintar php, perlua anda ketahui bahwa untuk meng-upload file gambar (jpg, jpeg, pjpeg, png, gif) kita harus menggunakan fungsi php yang satu ini yaitu, move_uploaded_file (string path, string new_path), dan untuk menghapus file gambar yang telah di-upload tersebut digunakan fungsi unlink (string filename).  Dimana file gambar akan disimpan di direktori/folder ‘images’ dan data gambar (file_name, ukuran, direktori dan deskripsi gambar) akan disimpan di tabel ‘file_gambar’.

Untuk membuat tabel tempat menyimpan informasi gambar yang akan di upload, copy dan paste sintak SQL berikut di phpMyAdmin Run SQL query/queries on database database_ku.
CREATE TABLE `database_ku`.`file_gambar` (
`file_id` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`file_name` VARCHAR( 50 ) NOT NULL ,
`ukuran` INT( 10 ) NOT NULL ,
`direktori` VARCHAR( 50 ) NOT NULL ,
`deskripsi` TEXT NOT NULL
) ENGINE = MYISAM
Ini sedikit potongan skripnya :
Form upload gambar:
<form action=”upload-hapus.php?act=upload” method=”post” enctype=”multipart/form-data”>
<p><input name=”fgambar” type=”file” id=”fgambar” /></p>
<p>Tipe file yang diperbolehkan jpg, jpeg, pjpeg, png atau gif.</p>
<p>Deskripsi:</p>
<p><textarea name=”deskripsi” cols=”38″ rows=”5″ id=”deskripsi”> </textarea></p>
<input type=”hidden” name=”direktori” id=”direktori” value=”images” />
<p><input name=”upload” type=”submit” value=”Upload” id=”upload” />
</p></form>
Untuk menampilkan gambar yang telah di upload:
<?php
$SQL =”SELECT * FROM file_gambar”;
$qryGambar =@mysql_query($SQL);
$no=0;
while($row =@mysql_fetch_array($qryGambar)):
$no++;
$conf =”Anda yakin akan menghapus gambar “.$row['file_name'];
echo ‘<p>No : ‘.$no.’</p>’;
echo ‘<p>Nama : ‘.$row['file_name'].’ | <a href=”upload-hapus.php?act=hapus&id=’.$row['file_id'].’” onclick=”return confirm(\’Anda yakin akan menghapus gambar ‘.$row['file_name'].’\');”>Hapus</a></p>’;
echo ‘<p>Ukuran : ‘.$row['ukuran'].’ bytes</p>’;
echo ‘<p><img src=”‘.$row['direktori'].’/’.$row['file_name'].’” /></p>’;
echo ‘<p>Deskripsi : ‘.$row['deskripsi'].’</p><hr />’;
endwhile;
if($no==0){
echo “<p>Gambar belum tersedia.</p>”;
}
?>
Skrip untuk meng-upload gambar:
<?php
include “koneksi.php”; //koneksi dengan database
if($_GET['act']==’upload’):
$tipe =$_FILES['fgambar']['type'];
if( $tipe != “image/jpg” AND
$tipe != “image/jpeg” AND
$tipe != “image/pjpeg” AND
$tipe != “image/png” AND
$tipe != “image/gif”){
echo ‘<p><b>Upload Gagal</b></p>’;
echo ‘<p>Tipe file yang diperbolehkan jpg, jpeg, pjpeg, png atau gif.</p>’;
echo ‘<p><a href=”index.php”>ULANGI</p></p>’;
}else{
$file_name =$_FILES['fgambar']['name'];
$ukuran =$_FILES['fgambar']['size'];
$direktori =$_POST['direktori'];
$deskripsi =$_POST['deskripsi'];
//Cek gambar
$SQL =”SELECT file_name FROM file_gambar WHERE file_name=’$file_name’”;
$qGambar =@mysql_query($SQL);
if(count(@mysql_fetch_array($qGambar)) > 1){
echo ‘<p><b>Upload Gagal</b></p>’;
echo ‘<p>Gambar telah tersedia</p>’;
echo ‘<p><a href=”index.php”>KEMBALI</p></p>’;
}else{
//upload gambar
move_uploaded_file($_FILES['fgambar']['tmp_name'],$direktori.’/’.$file_name);
//simpan data gambar
@mysql_query(“INSERT INTO file_gambar”
SET file_name =’$file_name’,
ukuran =’$ukuran’,
direktori =’$direktori’,
deskripsi =’$deskripsi’”);”
header(‘location:index.php’);
}
}
endif;
?>
Skrip untuk meng-hapus gambar:
<?php
if($_GET['act']==’hapus’):
//pilih gambar
$id =$_GET['id'];
$SQL =”SELECT * FROM file_gambar WHERE file_id=’$id’”;
$qGambar =@mysql_query($SQL);
$row =@mysql_fetch_array($qGambar);
//hapus gambar
if(file_exists($row['direktori'].’/’.$row['file_name']))
unlink($row['direktori'].’/’.$row['file_name']);
//hapus data gambar
@mysql_query(“DELETE FROM file_gambar WHERE file_id=’$id’”);
header(‘location:index.php’);
endif;
?>
Jika gambar di hapus akan muncul pesan konfirmasi seperti ini:
konfirmasi-hapus
untuk skrip lengkapnya dapat anda download di  sini.

Blog Post

Related Post

Back to Top

Cari Artikel