Tutorial kali ini kita akan mencoba menghapus file dengan dengan menggunakan unlink. Seperti saat teman-teman mengupload data kedalam database kemudian menyimpan file kedalam folder. Lantas bagaimana caranya menghapus file yang terdapat di dalam folder tersebut?
Solusinya dengan menggunakan unlink.
Coba tutorial berikut ini:
1. index.php
2. koneksi.php
3. tampil.php
4. proses-upload.php
5. hapus.php
6. edit.php
7. proses-edit.php
8. Buat folder dengan nama hasil-upload, untuk menampung hasil upload
index.php
<!DOCTYPE html> <html> <head> <title>Tambah Data</title> </head> <body> <form action="proses-upload.php" method="POST" enctype="multipart/form-data"> <input type="file" name="fileku"> <input class="btn btn-primary" type="submit" name="submit" value="Upload"> </form> </body> </html>
koneksi.php
<?php $server = "localhost"; $user = "root"; $pass = ""; $database = "delete_img"; $kon = mysql_connect($server, $user, $pass) or die (mysql_error()); $db = mysql_select_db($database, $kon) or die (mysql_error()); ?>
tampil.php
<!DOCTYPE html>
<html>
<head>
<title>Tampil Data</title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>No</th>
<th>Image</th>
<th colspan="2">Aksi</th>
</tr>
</thead>
<tbody>
<?php
include "koneksi.php";
$sql = "SELECT * FROM tbl_produk";
$query = mysql_query($sql) or die (mysql_error());
$no = 1;
while($data = mysql_fetch_array($query)){
$id = $data["id_file"];
$nm = $data["name_file"];
echo "<tr>
<td>$no</td>
<td><img class='img img-responsive' src='hasil-upload/$nm' height='70' width='100'></td>
<td><a href='hapus.php?id=$id'>Hapus</a></td>
<td><a href='edit.php?id=$id'>Edit</a></td>
</tr>";
$no++;
}
?>
</tbody>
</table>
</body>
</html>
proses-upload.php
<?php
include "koneksi.php";
$nm_file = $_FILES["fileku"]["name"];
$tmp_file = $_FILES["fileku"]["tmp_name"];
$sz_file = $_FILES["fileku"]["size"];
$tp_file = $_FILES["fileku"]["type"];
$dir = "hasil-upload/$nm_file";
move_uploaded_file($tmp_file, $dir);
$sql = "INSERT INTO tbl_produk (name_file) VALUES ('$nm_file')";
$query = mysql_query($sql) or die (mysql_error());
header("location: tampil.php");
?>
hapus.php
<?php
include "koneksi.php";
// tangkap parameter di url dengan $_GET
$id = $_GET["id"];
// pilih data yang akan dihapus berdasarkan id
$sql1 = "SELECT * FROM tbl_produk WHERE id_file='$id'";
$query1 = mysql_query($sql1) or die (mysql_error());
$data = mysql_fetch_array($query1);
// lakukan eksekusi hapus data dengan menggunakan query sql DELETE
$sql2 = "DELETE FROM tbl_produk WHERE id_file='$id'";
$query2 = mysql_query($sql2) or die (mysql_error());
// tentukan direktori penyimpanan file yang akan dihapus
$path = "hasil-upload/".$data["name_file"];
// cek jika ada file
if(file_exists($path)){
// gunakan fungsi php unlink
unlink($path);
}
header("location: tampil.php");
?>
edit.php
<!DOCTYPE html>
<html>
<head>
<title>Tambah Data</title>
</head>
<body>
<?php
include "koneksi.php";
$id = $_GET["id"];
$sql = "SELECT * FROM tbl_produk WHERE id_file='$id'";
$query = mysql_query($sql) or die (mysql_error());
while($data = mysql_fetch_array($query)){?>
<form action="proses-edit.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $data["id_file"];?>">
<img src="hasil-upload/<?php echo $data["name_file"];?>" height="70" width="100">
<br>
<input type="file" name="fileku">
<input class="btn btn-primary" type="submit" name="submit" value="Upload">
</form>
<?php }
?>
</body>
</html>
proses-edit.php
<?php
include "koneksi.php";
$nm_file = $_FILES["fileku"]["name"];
$tmp_file = $_FILES["fileku"]["tmp_name"];
$sz_file = $_FILES["fileku"]["size"];
$tp_file = $_FILES["fileku"]["type"];
$id = $_POST["id"];
$dir = "hasil-upload/$nm_file";
move_uploaded_file($tmp_file, $dir);
// pilih data yang akan dihapus berdasarkan id
$sql1 = "SELECT * FROM tbl_produk WHERE id_file='$id'";
$query1 = mysql_query($sql1) or die (mysql_error());
$data = mysql_fetch_array($query1);
// lakukan update data dengan menggunakan query sql UPDATE
$sql2 = "UPDATE tbl_produk SET name_file='$nm_file' WHERE id_file='$id'";
$query2 = mysql_query($sql2) or die (mysql_error());
// tentukan direktori penyimpanan file yang akan dihapus
$path = "hasil-upload/".$data["name_file"];
// cek jika ada file
if(file_exists($path)){
// gunakan fungsi php unlink
unlink($path);
}
header("location: tampil.php");
?>
Databasenya
-- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: Sep 23, 2017 at 05:55 PM -- Server version: 10.1.13-MariaDB -- PHP Version: 5.6.23 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `delete_img` -- -- -------------------------------------------------------- -- -- Table structure for table `tbl_produk` -- CREATE TABLE `tbl_produk` ( `id_file` int(5) NOT NULL, `name_file` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `tbl_produk` -- INSERT INTO `tbl_produk` (`id_file`, `name_file`) VALUES (44, '0000451726.jpg'); -- -- Indexes for dumped tables -- -- -- Indexes for table `tbl_produk` -- ALTER TABLE `tbl_produk` ADD PRIMARY KEY (`id_file`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tbl_produk` -- ALTER TABLE `tbl_produk` MODIFY `id_file` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=45; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Teman-teman bisa langsung mencobanya, disini kita lakukan upload terlebih dahulu, kemudian kita lanjutkan dengan mencoba menghapus data yang sudah tersimpan.
Ketika berhasil kalian akan melihat tidak hanya recordnya saja yang terhapus, namun file yand di dalam folder juga akan ikut terhapus ini karena kita menggunakan perintah unlink.
Semoga artikel yang sederhana ini bisa memberi jawaban bagi teman-teman programming, dan tentunya kalian bisa mengembangkan lebih lanjut. Sampai berjumpa diartikel berikutnya.
Jika ada pertanyaan, teman-teman bisa mengirimkan pesan melalui email di
[email protected]