我正在用 php 制作小型财务管理网站。我必须为我的应用程序存储很多图像,但我很困惑应该将它们存储在哪里。我的场景是
用户将拥有
- 储蓄账户
- 定期存款
现在对于每笔定期存款,我都需要存储
- 该FD的扫描图像
- 一张或多张图片用于资金来源,例如银行支票
现在我应该在哪里存储所有这些图像。我是说
- 我是否需要为每个用户创建文件夹,然后是每个 FD,然后是源
- 或 一个文件夹中的所有图像
我正在用 php 制作小型财务管理网站。我必须为我的应用程序存储很多图像,但我很困惑应该将它们存储在哪里。我的场景是
用户将拥有
现在对于每笔定期存款,我都需要存储
现在我应该在哪里存储所有这些图像。我是说
不要将所有图像存储在一个文件夹中;一旦您在同一个文件夹中有数千个文件,您就会遇到问题。为每个用户创建一个子文件夹是有意义的并且很好地划分。
不要将该文件夹放在网络可访问的目录中。取而代之的是一个接受一些参数的中间 php 脚本,检查请求用户是否有权限查看文件,然后使用 readfile() 返回图像。这样可以防止人们查看其他人的图像。
不要使用上传图片的文件名。相反,您可以使用数据库行的 id 作为名称,或者创建一个 UUID;一些独特的东西,由你产生。这样您就不必担心用户上传名称冲突的文件或试图用疯狂的文件名破解您的系统。
我肯定会为每个用户创建一个文件夹(用户 ID),因此如果您尝试加载一个用户的图像,则不必解析一个巨大的图像文件夹。除此之外,我认为您可以将它们存储在一个文件夹中并使用命名约定或将所有图像分组到一个子文件夹中,从而使这些图像的检索更容易。