1

我有一个网站,允许人们将文件上传到他们的帐户,并且它们显示在列表中。所有用户的文件都存储在不同的服务器上,它们会根据它们的受欢迎程度(它是一个文件托管站点)四处移动。

我想为用户添加将文件分组到文件夹中的功能。我可以走常规路线,为服务器上的每个用户在硬盘驱动器上创建物理文件夹,并按预期遍历它们。这样做的缺点是用户的文件将绑定到单个服务器。如果该服务器开始运行空间(或许多文件同时流行),那么缓解它将变得非常棘手。

我想做的是保持文件的无状态特性,允许它们存储在任何文件服务器上,并简单地将文件夹 ID(除了拥有文件的用户 ID 之外)与数据库中的每个文件一起存储。因此,当用户决定移动文件时,它不会被物理移动到任何地方,您只需更改数据库中的文件夹 ID。

这是一个好主意吗?我使用 php 和 mysql。

4

2 回答 2

2

是的。

我没有看到任何缺点,除了对数据库的更多查询,但是通过正确索引父文件夹 ID,这可能比直接访问文件系统更快。

于 2010-08-24T19:52:01.917 回答
0

忘记文件夹,让用户标记他们的文件,每个文件有多个标签。然后让他们查看标记为 X 的文件。这与虚拟文件夹的实现没有太大区别,但对用户来说更加灵活。

于 2010-08-24T20:23:22.713 回答