我是初学者/中级PHP MySQL开发人员。
计划使用Yii或Codeigniter创建多用户Web应用程序,用户拥有自己的私有和公共区域。他们将能够通过网络(文档等)上传照片和/或文件
我很关心文件存储的最佳方式。 这些多站点/用户网站(wordpress,blogger,facebook)如何做到这一点?
我已经考虑过以下选项,但我不知道行业是否采用了这种方式:
基本上,我们会为任何用户上传的文件使用3个名称(原始名称和2个新名称)
用户上传文件(图片,文档等),我们重命名文件并将其存储在文件夹中,并将原始名称保存在具有其他文件属性的数据库中
为了显示文件,我们使用第3个。动态新名称
这样,只有所有者知道原始名称,并且没有人知道物理文件名。
谢谢
答案 0 :(得分:0)
您可以简单地使用.htaccess重写图像路径的URL,或者使用哈希文件夹和文件名。
存储取决于您将使用的文件数量。像facebook这样的大型公司在数百台(或更多!)服务器上工作,拥有非常专业的存储方法等。
对于常规Web应用程序,简单文件或数据库存储可能就足够了。