通过PHP删除mysql数据库中未列出的文件夹中的图像
我的目标:通过PHP删除mysql数据库中未列出的文件夹中的图像,php,mysql,Php,Mysql,我的目标: 删除mysql数据库中未列出的文件夹中的图像。 我希望在注销门户时能够运行此功能。 你知道怎么做吗?谢谢 数据库 数据库名称:Imagelist id, image, thumbnail 1, image1.jpg, image1thumb.jpg 2, image2.jpg, image2thumb.jpg 3, image3.jpg, image3thumb.jpg 文件夹 文件夹名称:图像 image1.jpg image1thumb.jpg imag
删除mysql数据库中未列出的文件夹中的图像。
我希望在注销门户时能够运行此功能。
你知道怎么做吗?谢谢 数据库
数据库名称:Imagelist
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...
您可以使用以下命令按字母顺序获取图像文件名:
按图像顺序从图像列表中选择图像、缩略图
然后使用php函数获取所有文件的列表。默认情况下,这将为您提供目录中的所有文件
然后,如果该行与数组值匹配,则可以逐个获取该行
如果是,则继续下一个数组值和fecth行
如果否,则使用php函数删除文件,
然后移动到下一个数组值,直到该值与行值匹配。如果匹配,则按上述步骤继续
通过这种方式,您可以在一个mysql查询和一个dirscan中完成此任务。使用扫描文件夹并检查每个路径(如果表中存在此路径)。创建文件夹图像名称的数组a1和mysql列表文件的另一个数组。对于a1中的每个项目,请检查a2中是否包含该项目,如果未包含该项目,则删除该项目表示的文件,只需添加。。您发布的内容是对您想要编写的内容的描述,但您没有提出任何问题或提供任何需要帮助的代码。用官方术语来说,这“不是一个真正的问题”。下次请带些更具体的东西来;这不是一个免费的编码服务,它是一个反复出现的编程问题的答案库,这些问题无法用最少的研究()来回答。@kmels我想看看,你将如何处理2个数组,每个数组中有10000000个项目,lol。@OZ_,扫描文件夹是O(n),从MySQL获取数据是O(n),单个数组查找是O(1)。因此,对于“包含10000000项的2个数组”,仍然需要c*10000000个操作(c很小)。“我看不出你在担心什么。”苏库玛,算错了。数组比较是O(n*m)(其中n和m是A1和A2中的元素计数),扫描文件夹是O(n*2),其中n是文件夹中的文件计数。我担心的是内存使用和性能。