Postingan lainnya
menghapus / delete file dengan php jquery ajax menggunakan fungsi UNLINK
assalamualaikum...
malam para mastah sekolah koding..
saya ada masalah pada saat menghapus gambar di direktori file saya..
jadi kronologi nya pada saat saya menghapus gambar di browser saya, gambarnya terhapus baik di browser maupun di database nya. tetapi di direktori file saya yang bernama asset, nama gambar tersebut tidak ikut terhapus.
mohon bantuan nya para mastah.
berikut kodingan html nya :
<?php while($row = mysqli_fetch_assoc($isi_buku)): ?>
<div class="item" id="hapus_<?= $row['id']; ?>">
<div class="item-0">
<div class="content-0">
<img src="asset/<?= $row['gambar']; ?>" class="gambar_" style="width:180px; height:240px; padding:10px;"alt="" />
<div class="fluid-buku">
<a href="data_singgle_page.php?id=<?= $row['id']; ?>" class="fluid-judul" style="cursor:default;"><h4><?= $row['judul']; ?></h4></a>
<p class="stock" style="cursor:default;"><?= $row['stok']; ?></p>
<p class="h_lama" style="cursor:default;">Rp <?= $row['harga']; ?></p>
<p style="cursor:default; margin-bottom:5px;">Hemat Rp <?= $row['hemat']; ?></p>
<h5 style="cursor:default;">Rp <?= $row['harga_baru']; ?></h5>
</div>
<div class="button-view">
<a href="#item" rel="nofollow" class="btn-chart keranjang baru">
<div class="keranjang-1">
<i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
</div>
<div class="keranjang-0">
<i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
</div>
</a>
<a href="data_singgle_page.php?id=<?= $row['id']; ?>" rel="nofollow" class="btn btn-view">
<div class="view-1">
<i class="fa fa-eye fa-3x" aria-hidden="true"></i>
</div>
<div class="view-0">
<i class="fa fa-eye fa-3x" aria-hidden="true"></i>
</div>
</a>
</div>
<?php if($super_user == true): ?>
<div class="button-aksi">
<div class="btn-edit-hapus">
<div class="btn-edit">
<a href="data_edit_buku.php?id=<?= $row['id']; ?>" class="edit"><i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i><br>
<span class="edit-0">Edit</span></a>
</div>
<div class="btn-hapus">
<a href="#item" class="hapus" data-id="<?= $row['id']; ?>"><i class="fa fa-trash-o fa-2x" aria-hidden="true"></i><br>
<span class="hapus-1">Hapus</span></a>
</div>
</div>
</div>
<?php endif;?>
</div>
</div>
</div>
<?php endwhile; ?>
dan yang kodingan jquery ajax nya:
$(document).on('click','.hapus', function(){
var id = $(this).attr('data-id');
var gambar = $('.gambar_').attr('src');
$.ajax({
url: "data_hapus_penjualan.php",
method: "POST",
data: {ids:id,gambars:gambar},
success: function(data){
$('#hapus_'+id).fadeOut('slow');
}
});
});
dan satu lagi kodingann php nya :
<?php
require_once 'core/init.php';
global $link;
$id = $_POST['ids'];
$gambar = $_POST['gambars'];
$query = "DELETE FROM penjualan WHERE id='$id'";
$result = mysqli_query($link, $query);
unlink($gambar);
if ($result) {
echo "Berhasil";
}else{
echo "Gagal";
}
?>
karena sebelum - sebelumnya saya tidak pernah menggunakan fungsi unlink ini pada proyek - proyek belajar website saya.
semoga pertanyaan jelas dan dapat dimengerti..
mohon solusinya para mastah..
terima kasih sebelum nya.
3 Jawaban:
coba di unlink manual dulu, variable gambarnya langsung string path image, tidak dari post.. berhasil atau tidak ? soalnya saya udh coba juga, dan pada asset image tidak terhapus, tetapi muncul pesan error permission directory, naah karena barangkali menggunakan linux mungkin permission folder nya, di set ' chmod -R 777 namafolder/ ' dulu..
barangkali sama permasalahannya :)
saya sudah unlink manual agan @gunalirezqimauludi dan hasil nya berhasil..
Jawaban Terpilih
ketemu gan permasalahan nya jadi nama gambar yang ada di folder asset saya tidak terbaca kalo belum saya keluar kan nama gambar saya yang ada di database..
jadi kodingan nya seperti ini setelah saya tampilkan data nama gambar saya di database nya terlebih dahulu, baru saya hapus dengan fungsi UNLINK tersebut.
ini kodingan html nya :
<?php while($row = mysqli_fetch_assoc($isi_buku)): ?>
<div class="item" id="hapus_<?= $row['id']; ?>">
<div class="item-0">
<div class="content-0">
<img src="asset/<?= $row['gambar']; ?>" class="gambar_" style="width:180px; height:240px; padding:10px;"alt="" />
<div class="fluid-buku">
<a href="data_singgle_page.php?id=<?= $row['id']; ?>" class="fluid-judul" style="cursor:default;"><h4><?= $row['judul']; ?></h4></a>
<p class="stock" style="cursor:default;"><?= $row['stok']; ?></p>
<p class="h_lama" style="cursor:default;">Rp <?= $row['harga']; ?></p>
<p style="cursor:default; margin-bottom:5px;">Hemat Rp <?= $row['hemat']; ?></p>
<h5 style="cursor:default;">Rp <?= $row['harga_baru']; ?></h5>
</div>
<div class="button-view">
<a href="#item" rel="nofollow" class="btn-chart keranjang baru">
<div class="keranjang-1">
<i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
</div>
<div class="keranjang-0">
<i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
</div>
</a>
<a href="data_singgle_page.php?id=<?= $row['id']; ?>" rel="nofollow" class="btn btn-view">
<div class="view-1">
<i class="fa fa-eye fa-3x" aria-hidden="true"></i>
</div>
<div class="view-0">
<i class="fa fa-eye fa-3x" aria-hidden="true"></i>
</div>
</a>
</div>
<?php if($super_user == true): ?>
<div class="button-aksi">
<div class="btn-edit-hapus">
<div class="btn-edit">
<a href="data_edit_buku.php?id=<?= $row['id']; ?>" class="edit"><i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i><br>
<span class="edit-0">Edit</span></a>
</div>
<div class="btn-hapus">
<a href="#item" class="hapus" data-id="<?= $row['id']; ?>"><i class="fa fa-trash-o fa-2x" aria-hidden="true"></i><br>
<span class="hapus-1">Hapus</span></a>
</div>
</div>
</div>
<?php endif;?>
</div>
</div>
</div>
<?php endwhile; ?>
dan yang ini kodingan jquery ajax nya :
$(document).on('click','.hapus', function(){
var id = $(this).attr('data-id');
$.ajax({
url: "data_hapus_penjualan.php",
method: "POST",
data: {ids:id},
success: function(data){
$('#hapus_'+id).fadeOut('slow');
}
});
});
dan yang terakhir ini kodingan php nya (Kunci Permasalahan nya Ada Di Bagian Ini):
<?php
require_once 'core/init.php';
global $link;
$id = $_POST['ids'];
$query1 = "SELECT * FROM penjualan WHERE id='$id'";
$result1 = mysqli_query($link, $query1);
if ($result1) {
while ($row = mysqli_fetch_assoc($result1)) {
$gambar = $row['gambar'];
}
}
$query = "DELETE FROM penjualan WHERE id='$id'";
$result = mysqli_query($link, $query);
if ($result) {
unlink('asset/'.$gambar);
echo "Berhasil";
}else{
echo "Gagal";
}
?>