我正在开发一个论坛和用户将能够上传图片。
我想知道我应该如何组织这个文件夹?
它们应该按线程还是按用户排序?但是,如何将它们组织到这些文件夹中呢?
我怎么能把一些post的图片和数据库条目结合起来呢?例如,如果帖子上传了5张图片,我是否应该有一对多(一个线程-多个图片)关系,其中图片条目包含图片的名称?
我以前从没这样做过。
如果有人能给我一些建议就好了。

最佳答案

您希望一次性处理/复制/传输/删除线程值的图像吗?如果是这样,那么为每个线程创建一个文件夹可能是有意义的。否则就没有什么特别的好处。事实上这可能是个缺点…例如,如果可以将帖子从一个线程移动到另一个线程或合并线程,则必须编写额外的代码来移动图像文件。
如果帖子上传了5张图片,我应该有一对多的关系吗?
是的,或者一张贴很多照片?
图片条目包含图片名称的位置?
如果你记得上传文件的文件名,它应该只用于在线程中显示。不要将用户提交的文件名用作服务器文件系统上的文件名。当两个用户上载同名文件时,这可能会发生冲突,而且无论如何,为安全起见,很难对用户名进行“清理”。
更好的方法是,为每个数据库图片行指定一个主键,并使用该键命名文件,例如5272.jpeg。您还应该为从不同主机名上传的文件提供服务,否则会有各种跨站点脚本编写风险。
有关背景信息,请参见this question。安全地处理用户上传的文件一点都不容易,几乎每个文件上传教程都有安全漏洞。

10-06 05:39
查看更多