通过PHP删除未在mysql数据库中列出的文件夹中的图像

时间:2011-08-05 06:06:20

标签: php mysql

我的目标:
删除未在mysql数据库中列出的文件夹中的图像 我希望能够在我退出门户网站时运行 有关如何做到这一点的任何想法?谢谢

数据库
数据库名称:图像列表

id, image, thumbnail  
1, image1.jpg, image1thumb.jpg  
2, image2.jpg, image2thumb.jpg  
3, image3.jpg, image3thumb.jpg  

文件夹
文件夹名称:图像

image1.jpg  
image1thumb.jpg  
image2.jpg  
random1.jpg  
image2thumb.jpg  
image3.jpg  
mage3thumb.jpg  
random2.jpg      
etc...

2 个答案:

答案 0 :(得分:2)

您可以使用

按字母顺序获取图像文件名

SELECT image, thumbnail FROM imagelist ORDER BY image

以后使用php的scandir函数获取所有文件的列表。这将默认为您提供目录中的所有文件。

然后,如果匹配数组值

,则可以逐行获取行

如果是,继续下一个数组值和fecth行

如果不是,请使用unlink php函数删除文件, 然后移动到下一个数组值,直到值与行值匹配。如果它匹配继续上述步骤。

这样你就可以在一个mysql查询和一个dirscan中完成这个任务。

答案 1 :(得分:0)

使用readdir扫描文件夹并检查每个路径,如果表中存在此路径。