小编典典

找出目录中哪些文件在数据库中“列出”了

sql

我有一个小型画廊网站,但目录中的图像数量与数据库中的图像数量相差约150,所以我想知道是否有办法找出/列出目录中哪些文件不是“目录”中的文件数据库(反之亦然)。

基本的数据库结构:

  • 图片
    • ID
    • 图片

图像名称作为“ imagename.jpg”存储在数据库中

并且图像本身存储在图像目录中

图片/


阅读 174

收藏
2021-04-28

共1个答案

小编典典

将来自服务器的文件名放在一个数组中,而将来自数据库的文件放在另一个数组中。使用array_diff()获得结果。

范例(PHP):

$files_db = array("car.jpg", "bike.jpg", "plane.jpg", "ship.jpg", "tank.jpg"); 
$files_server = array("car.jpg", "bike.jpg", "ship.jpg", "rocket.jpg");

使用

print_r(array_diff($files_db, $files_server));

输出

Array
(
    [2] => plane.jpg
    [4] => tank.jpg
)

或相反亦然)

print_r(array_diff($files_server, $files_db));

输出

Array
(
    [3] => rocket.jpg
)
2021-04-28