Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP删除mysql数据库中未列出的文件夹中的图像_Php_Mysql - Fatal编程技术网

通过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是文件夹中的文件计数。我担心的是内存使用和性能。