如何将文件链接到数据库?

时间:2012-04-02 14:00:36

标签: php python database windows linux

我正在尝试实现一个脚本,该脚本读取某个目录的内容(文件和文件夹)并将其写入数据库。我的目标是创建一个软件,允许我组织那些与描述和标签相关的文件和文件夹,而不会影响磁盘中的对应物理文件。 但是现在我遇到了一个逻辑问题:如何在该物理文件和数据库寄存器之间建立直接连接?我想要的是,即使物理文件由于某种原因被编辑或移动到根目录中的另一个文件夹,该软件仍然能够将该文件与其在数据库中的原始寄存器相关联。

我的第一个想法是使用校验和哈希来识别每个文件但是,我猜测如果文件被编辑,哈希也是如此,不是吗?除此之外,我还认为文件夹本身无法以这种方式进行检查。

我想到的另一个解决方案是在目录中的每个文件和文件夹名称的开头应用唯一键。这可能有用,但在我看来,这似乎是一个即兴的解决方案,因此,我希望可能还有另一种方法,我还没有考虑过。 有没有人对此提出建议?

2 个答案:

答案 0 :(得分:1)

在Linux下,您可以按inode跟踪文件,如果文件被移动或重命名,文件将不会更改。你甚至可以get notified when a file changes

您考虑过将该文件存储在数据库中吗?

答案 1 :(得分:0)

你不能。

看起来没有办法识别文件:既不是内容也不是路径名。

一种解决方法可能是:使用path作为id(并将它们用作数据库中的引用),不要使用系统工具(如mv)来移动文件,而是使用自己的脚本来更新文件系统和数据库中。