Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Penggunaan fuction unlink di php
Assalamualikum
selamat pagi semua di sini saya akan membuat untuk edit data pada php data yang akan saya edit terdapat foto di dalamnya
berikut form edit data yang saya buat
<div class="modal fade show" tabindex="-1" role="dialog" id="modal-add<?= $data['id_kepala_sekolah'] ?>">
<div class="modal-dialog modal-md">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Edit Data Kepala Sekolah</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body table-responsive">
<form action="?admin=logic" method="post" enctype="multipart/form-data">
<input type="text" name="id_kepala_sekolah" value="<?= $data['id_kepala_sekolah']; ?>" hidden>
<div class="form-group">
</div>
<div class="form-group">
<img src="../assets/img/gallery/<?= $data['foto_kepala_sekolah'] ?>" class="rounded-circle author-box-picture" width="80px" />
<input type="hidden" name="previous" value="<?= $data['foto_kepala_sekolah'] ?>" /><br>
<label for="">Foto Baru</label>
<input type="file" name="foto_kepala_sekolah" class="form-control" value="<?= $data['foto_kepala_sekolah']; ?>" placeholder="Foto" required>
</div>
<div class="form-group">
<label for="">Nama Kepala Sekolah</label>
<input type="text" name="nama_kepala_sekolah" value="<?= $data['nama_kepala_sekolah']; ?>" class="form-control">
</div>
<div class="form-group">
<label for="">Sambutan</label>
<textarea class="summernote-simple" name="sambutan_kepala_sekolah" id="sambutan_kepala_sekolah"><?= $data['sambutan_kepala_sekolah']; ?></textarea>
</div>
<div>
<button type="submit" name="edit" class="btn btn-primary">Publish</button>
</div>
</form>
</div>
</div>
</div>
</div>
dan berikut query editnya
<?php
if (isset($_POST['edit'])) {
$id_kepala_sekolah = $_POST['id_kepala_sekolah'];
$foto_kepala_sekolah = $_FILES['foto_kepala_sekolah']['name'];
$foto_kepala_sekolah_temp = $_FILES['foto_kepala_sekolah']['tmp_name'];
$nama_kepala_sekolah = $_POST['nama_kepala_sekolah'];
$sambutan_kepala_sekolah = $_POST['sambutan_kepala_sekolah'];
$previous = $_POST['previous'];
$exp = explode(".", $foto_kepala_sekolah);
$end = end($exp);
$name = time() . "." . $end;
$path = "../assets/img/gallery/" . $name;
$allowed_ext = array("gif", "jpg", "jpeg", "png");
if (in_array($end, $allowed_ext)) {
if (unlink($previous)) {
if (move_uploaded_file($foto_kepala_sekolah_temp, $path)) {
mysqli_query($conn, "UPDATE `tb_kepala_sekolah` set `nama_kepala_sekolah` = '$nama_kepala_sekolah', `sambutan_kepala_sekolah` = '$sambutan_kepala_sekolah', `foto_kepala_sekolah` = '$path' WHERE `id_kepala_sekolah` = '$id_kepala_sekolah'") or die(mysqli_error());
echo "<script>alert('User account updated!')</script>";
header("location:?admin=profile-ks");
}
}
} else {
echo "<script>alert('Image only')</script>";
}
}
Pada Query di atas terdapat error seperti berikut "Warning: unlink(1703927515.jpeg): No such file or directory in C:\laragon\www\smpn4silo\smpn4siloadmin\admin\logic.php on line 15"
bisa share solusinya kawan wassalamualikum wr wb
2 Jawaban:
Jawaban Terpilih
if (isset($_POST['edit'])) {
// ... kode lain ...
// Periksa apakah file ada sebelum mencoba menghapus
if (file_exists("../assets/img/gallery/" . $previous)) {
unlink("../assets/img/gallery/" . $previous);
} else {
error_log("File not found: " . $previous); // Catat error
}
// ... kode upload file dan update database ...
}
Perubahan ini memastikan bahwa script Anda mengecek keberadaan file sebelum mencoba menghapusnya dan mencatat error jika file tidak ditemukan. Ini akan membantu menghindari pesan error yang tidak perlu dan menjadikan proses lebih aman.
Arti error pada metode unlink nya adalah tidak ada file atau folder yang mau dihapus.
Kamu perlu debug lihat isi dari $previous. Pastikan lokasi nya sesuai