First of all, i would like to explain my condition right now.
I’m using PHP as my programming language.
I have a table named “Produk”. It keeps every product name. Example value “TWC0001” in its id_produk column.
Every product have its own images, and stored in ./images/Produk/ directory.
the problem is, this project has been working about 1 years ago, and when the users delete a product, the product’s images didn’t deleted too. So, it still staying in ./images/Produk/ directory. It means, that file become a garbage right?
Case Example :
in the “Produk” table, column “id_produk” i have 3 rows :
“TWC0001″,”TWC0002″,”TWC0003”.
Of course each of those rows have its own images that stored in ./images/Produk/
Each of those files named :
“TWC0001.jpg”, “TWC0002.jpg”, “TWC0003.jpg”
Case : A user logged in and deleted row “TWC0002”, of course the “TWC0002.jpg” file still exist.
Problem : I want to delete all “.jpg” files that didn’t listed in the “Produk” table anymore.
I’ve been doing this :
//listing all the ".jpg" files
$arrayfiles=scandir("../images/Produk/");
//getting all the product list
$sql="select * from produk";
$produk=mysql_query($sql,$conn) or die("Error : ".mysql_error());
foreach($arrayfiles as $key=>$value)
{
while($row=mysql_fetch_array($produk,MYSQL_ASSOC))
{
///here is the part i've been confused of.
}
}
PHP function to delete file is “unlink()”;
Please anybody help me out of this.
The following code will produce an array with all the images that have no corresponding product record. I’ve left off the
unlinkcommand so you can do some reviewing process first.