上传文件的文件夹结构


Structure of folder for uploaded files

我正在实现一个允许用户上传文件的网站。我想知道上传文件夹应该如何构建,以便将来可以轻松管理上传的文件。我应该为不同的用户提供不同的子文件夹(例如,upload/user1 代表用户 1,upload/user2 代表用户 2,等等),还是应该将它们全部放在同一个文件夹中?我应该重命名上传的文件吗?(我知道很多网站都这样做!

如果您不使用 BLOB,并且用户可能拥有任意数量的图像,那么我认为您应该使用子文件夹。例如,您可以创建一个以用户 id 命名的子文件夹。造成这种情况的原因之一是,当文件夹包含大量文件时,访问时间会增加,因为查找具有指定名称的文件需要更多时间。您还可以在存储文件时重命名文件,这样它们的名称就不会重叠。只是不要忘记将新生成的名称存储在数据库中。

例如,如果您想将它们"隐藏"给未登录的任何人,重命名它们会很有用。只需将其原始名称存储在数据库中即可。

此外,您始终可以将其全部存储在 BLOB 类型的 SQL 表中。可以是几GB,并允许您关联文件名,用户名,其他任何内容。