如何用php同步数据库表和目录
我有一个包含文件的目录和一个包含相同文件的数据库表。我希望能够将数据库表与目录同步。最有效的方法是什么?或者,我真的只能以一种野蛮的方式来做这件事吗 以下是我的方法:如何用php同步数据库表和目录,php,mysql,arrays,performance,Php,Mysql,Arrays,Performance,我有一个包含文件的目录和一个包含相同文件的数据库表。我希望能够将数据库表与目录同步。最有效的方法是什么?或者,我真的只能以一种野蛮的方式来做这件事吗 以下是我的方法: 1.以数组形式检索目录中的所有文件 2.以数组形式检索数据库表中的所有文件名 3.循环遍历目录数组中的文件值,并在数据库表数组上使用in_array()来验证文件名是否在该数组中,如果不在该数组中,则开始构建数组以插入缺少的文件名。运行db query将每个缺少的文件行添加到数据库表中 4.循环遍历目录数组并在目录数组上的_arr
1.以数组形式检索目录中的所有文件
2.以数组形式检索数据库表中的所有文件名
3.循环遍历目录数组中的文件值,并在数据库表数组上使用in_array()来验证文件名是否在该数组中,如果不在该数组中,则开始构建数组以插入缺少的文件名。运行db query将每个缺少的文件行添加到数据库表中
4.循环遍历目录数组并在目录数组上的_array()中使用,在目录数组中找不到的任何内容都将从表中删除。
有没有更好的办法?或者在php中使用比在_array()中更好的方法?您可以使用它来有效地确定两个数组之间的差异。以一种方式运行它来获取已添加的内容,以另一种方式(交换参数)来获取已删除的内容
(但是请注意,您可能希望对阵列的副本而不是原件进行操作。)更像是单向更新,而不是同步。更新时是否需要保留数据库中的现有记录,或者重新创建主键等是否可以?我确实需要维护主键。单向更新是正确的,我只关心主键和它的文件名永远不会指向目录中不存在的文件。但也可能是一个文件(手动)添加到目录中,并希望为其分配一个可以在站点中引用的密钥。