哪个是在php网站上存储上传图像的最佳方式

时间:2011-06-15 04:22:55

标签: php image-upload

我正在使用php建立小型财务管理网站。我必须为我的应用程序存储相当多的图像,但我很困惑我应该在哪里存储它们。我的场景是

用户将

  1. 储蓄帐户
  2. 定期存款
  3. 现在每个定期存款我需要存储

    1. 该FD的扫描图像
    2. 银行支票
    3. 等一个或多个货币来源图片

      现在我应该在哪里存储所有这些图像。我的意思是

      1. 我是否需要为每个用户创建文件夹,然后为每个FD创建文件夹
      2. 或一个文件夹中的所有图片

2 个答案:

答案 0 :(得分:3)

不要将所有图像存储在一个文件夹中;一旦在同一文件夹中有数千个文件,就会出现问题。这对于为每个用户创建一个子文件夹很有意义并且很划分。

不要将文件夹放在Web可访问目录中。而是有一个中间php脚本接受一些参数,检查请求用户是否有权查看该文件,然后使用readfile()返回图像。这样就可以防止人们查看其他人的图像。

请勿使用上传图片的文件名。相反,您可以使用数据库行的id作为名称,或创建UUID;一些独特的东西,由你生成。这样您就不必担心用户上传名称冲突的文件或试图用疯狂的文件名破解您的系统。

答案 1 :(得分:0)

我肯定会为每个用户提供一个文件夹(用户ID),因此如果您尝试加载一个用户的图像,则不必解析图像的巨大文件夹。除此之外,我认为您可以将它们存储在单个文件夹中,并使用命名约定或将子文件夹中的所有图像分组,以便更容易检索这些图像。