我正在实现一个允许用户上传文件的网站。我想知道如何构建上传文件夹,以便将来可以轻松管理上传的文件。我应该为不同的用户提供不同的子文件夹(例如,user1的upload/user1,user2的upload/user2等),还是应该将它们放在同一个文件夹中?我应该重命名上传的文件吗? (我知道,很多网站做到这一点!)上传文件的文件夹结构
回答
如果你不会使用BLOB,而用户可能有图像的任意数量的话,我想你应该使用子文件夹。例如,您可以创建一个以用户标识命名的子文件夹。其中一个原因是当文件夹包含大量文件时,访问时间会增加,因为需要更多时间才能找到具有指定名称的文件。您也可以在存储文件时重命名这些文件,以避免名称重叠。请不要忘记将新生成的名称存储在数据库中。
重命名,如果你想为“隐藏”给任何人没有登录,例如他们可能是有用的。只需将它们的原始名称存储在数据库中。
此外,你可以随时所有存储在BLOB类型的SQL表。可以是几个GB,并让你联系一个文件名,用户名,任何其他。
一位同事曾经跟我说,我不应该使用BLOB类型,因为它会不必要地扩大分贝。无论如何,感谢您对文件重命名的回答,尽管我仍然对上传文件的位置感到困惑 – 2012-04-23 03:56:45
它会放大数据库,但使用文件会扩大目录,所以您的意思是什么?它不会减慢速度。 – DanRedux 2012-04-23 04:03:34
- 1. 上传的图像/文件的文件夹结构?
- 2. fineuploader上传带有文件夹结构的文件
- 3. Dropzone.js - 上传文件夹结构和单个文件
- 4. 文件夹结构
- 5. 文件夹结构
- 6. Rails文件上传:上传文件夹
- 7. PHP MVC文件夹结构/模型文件夹结构
- 8. 替换SVN文件夹结构与非SVN文件夹结构
- 9. Django的文件夹结构
- 10. 组织文件和文件夹结构
- 11. 项目文件文件夹结构
- 12. 创建文件夹/文件结构
- 13. CanJS文件夹结构
- 14. Laravel文件夹结构
- 15. PhoneGap www文件夹结构
- 16. PHP文件夹结构XAMPP
- 17. 资产文件夹结构
- 18. SVN文件夹结构
- 19. Java文件夹结构
- 20. 创建文件夹结构
- 21. Nightwatchjs文件夹结构
- 22. 项目文件夹结构
- 23. 与文件夹结构
- 24. Symfony文件夹结构
- 25. Visual Studio文件夹结构
- 26. Ionic Zip文件夹结构
- 27. Rails结构文件夹
- 28. 乱用文件夹结构
- 29. HTML文件夹结构
- 30. Web文件夹结构
我遇到了一个解决方案,它告诉我如何构建我的上传文件夹:主文件夹称为'upload',它由3个级别组成(例如:'upload/0/0/file.jpg')。当文件夹'upload/0/0'被1024个文件填充时,自动创建文件夹'upload/0/1'。 'upload/0'文件夹可以有1024个子文件夹('upload/0/0'到'upload/0/1023')。同样,文件夹'upload'也可以有1024个子文件夹。因此,我们最多可以存储2^30个文件。如果每天用户上传总共1024个文件,则需要2873年才能使用该空间。你认为这是可行的吗? – 2012-04-24 09:57:44
我认为做这样的事情可能会更好:用用户名来命名第一级子目录。只有当您为用户上传的每张图片分配一个唯一的ID时,下一步才有效。然后你可以尝试将第二级子目录命名为strval($ imgId%DIVISOR_CHOSEN_BY_YOU)。在某些情况下,这可能会减少每个子目录中的图像数量,我想。请注意,我很远离这方面的专家,尽管... – Exander 2012-04-24 13:18:20