我有一个网站,允许人们将文件上传到他们的帐户,并且它们显示在列表中。所有用户的文件都存储在不同的服务器上,它们会根据它们的受欢迎程度(它是一个文件托管站点)四处移动。
我想为用户添加将文件分组到文件夹中的功能。我可以走常规路线,为服务器上的每个用户在硬盘驱动器上创建物理文件夹,并按预期遍历它们。这样做的缺点是用户的文件将绑定到单个服务器。如果该服务器开始运行空间(或许多文件同时流行),那么缓解它将变得非常棘手。
我想做的是保持文件的无状态特性,允许它们存储在任何文件服务器上,并简单地将文件夹 ID(除了拥有文件的用户 ID 之外)与数据库中的每个文件一起存储。因此,当用户决定移动文件时,它不会被物理移动到任何地方,您只需更改数据库中的文件夹 ID。
这是一个好主意吗?我使用 php 和 mysql。