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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ftp上传后自动添加数据库条目相关的知识,希望对你有一定的参考价值。

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

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


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

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

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

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

答案

您的问题包含三个步骤:

  1. 正如您所说,文件夹/文件已自动上传到您的服务器目录,这是由winSCP有效处理的。
  2. 您需要使用服务器目录中的所有文件和文件夹更新数据库。
  3. 您需要更新是否已由用户读取/下载。

由于您的第一步已经到位,我们在那里不需要任何东西。第二步,您应该编写一个脚本并安排该脚本使用CRON以固定的时间间隔运行(如果使用LINUX or UNIXWINDOWS)。该脚本负责创建目录中存在的文件列表,并简单地插入数据库中不存在的文件信息。

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

  1. fileid(varchar [20])
  2. filepath(varchar [20])
  3. status(布尔值)

您的脚本文件应该执行以下操作:

  1. 在服务器目录中创建现有文件路径的列表
  2. 运行select查询,从数据库表创建现有文件路径列表。
  3. 将list1与list2进行比较,找到list2中不存在的那些(这将为您提供需要插入表中的文件路径列表)
  4. 只需插入上面的文件路径列表,并将状态设置为false(这意味着文件尚未读取/下载)

注意:请记住,我现在不建议您的数据库表应该是什么样子。它可以是您提出的建议,也可以根据您的意愿或要求而有所不同。

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

如果这有帮助,请告诉我!

以上是关于ftp上传后自动添加数据库条目的主要内容,如果未能解决你的问题,请参考以下文章

expect自动上传目录到FTP服务器

自动将不同表中的 ID 号添加到新条目中?

jQuery mobile 在列表条目后添加一个空格

CentOS 6.9使用Shell脚本实现FTP自动上传和下载文件

Gradle打包后自动推送到FTP服务器

搭建VSFTP服务