我有一个小型画廊网站,但目录中的图像数量与数据库中的图像数量相差约150,所以我想知道是否有办法找出/列出目录中哪些文件不是“目录”中的文件数据库(反之亦然)。
基本的数据库结构:
图像名称作为“ imagename.jpg”存储在数据库中
并且图像本身存储在图像目录中
图片/
将来自服务器的文件名放在一个数组中,而将来自数据库的文件放在另一个数组中。使用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 )