ftp上传后自动添加数据库条目

时间:2018-06-08 09:13:13

标签: sql file-upload ftp

很抱歉,如果这看起来很愚蠢,但我想知道是否可以在ftp上传后添加数据库条目。

更清楚的是,多亏了winSCP,我有几个文件夹将我放入的所有内容自动发送到我的服务器。 但是,我想为每个上传的文件创建一个mysql条目,并再次自动创建。有可能吗?怎么样?

为了详细说明我需要做什么,您可以阅读以下内容 我有几个带图片的文件夹,每个文件夹都会自动上传。 每个文件夹都属于一个用户,目标是为他们提供一个帐户,并允许他们通过Web界面查看和下载这些文件。由于一个帐户=一个文件夹,这有点容易。 我认为一个简单的.htaccess可以简单地保护东西,这样一个用户只能在自己的存储库中查看和下载文件,不是吗?

但是,如果我希望他们能够看到什么是新的(=他们没有下载或只是标记为读取的东西)我想我需要一个表来管理这些文件。 像id | file(string)|读(布尔)。

如果你觉得这种方式继续下去很糟糕,我们就会改变如何做事情,但要明确上传文件需要以这种方式工作。不使用任何处方集。

感谢阅读,对不起我的英语。

1 个答案:

答案 0 :(得分:1)

您的问题包含三个步骤:

  1. 文件夹/文件已自动上传到您的服务器目录,正如您所说,这已由winSCP有效处理。
  2. 您需要使用服务器目录中的所有文件和文件夹更新数据库。
  3. 您需要更新用户是否已阅读/下载。
  4. 由于您的第一步已经到位,我们在那里不需要任何东西。第二步,您应编写脚本并安排该脚本使用CRON以固定的时间间隔运行(如果使用LINUX or UNIXWINDOWS)。该脚本负责创建目录中存在的文件列表,并简单地插入数据库中不存在的文件信息。

    修改 此编辑用于描述脚本文件的工作方式。正如我解释的那样,cron作业只会帮助您以固定的间隔(可以是每分钟,每小时或每天等)运行脚本文件。假设您的数据库表包含以下列:

    1. fileid(varchar [20])
    2. filepath(varchar [20])
    3. status(布尔值)
    4. 您的脚本文件应该执行以下操作:

      1. 在服务器目录中创建现有文件路径列表
      2. 运行select查询,从数据库表创建现有文件路径列表。
      3. 将list1与list2进行比较,找到list2中不存在的那些(这将为您提供需要插入表中的文件路径列表)
      4. 只需插入上面的文件路径列表,并将状态设置为false(这意味着文件尚未读取/下载)
      5. 注意:请记住,我现在不建议您的数据库表应该如何。它可能是您提出的建议,甚至可能根据您的意愿或要求而有所不同。

        对于第三步,只需在第二步中创建表中的条目时保持文件的状态为未读,然后当用户单击应用程序中的文件链接时是否查看或下载它,发送一个POST请求到您的服务器更新文件状态以标记为已读。

        请告诉我这是否有帮助!