Автоматически добавлять запись базы данных после загрузки ftp - PullRequest
0 голосов
/ 08 июня 2018

Извините, если это кажется глупым, но мне интересно, возможно ли добавить запись базы данных после загрузки ftp.

Чтобы быть более понятным, благодаря winSCP у меня есть несколько папок, автоматически отправляющих все, что я туда положил, на мой сервер.Тем не менее, я хотел бы создать запись MySQL для каждого загруженного файла и еще раз, автоматически.Возможно ли это сделать?Как?


Чтобы получить полную информацию о том, что мне нужно сделать, вы можете прочитать следующее.
У меня есть несколько папок с изображениями, и каждая папка загружается автоматически.Каждая из этих папок принадлежит одному пользователю, и цель состоит в том, чтобы предоставить им учетную запись и позволить им просматривать и загружать эти файлы через веб-интерфейс.Поскольку одна учетная запись = одна папка, это довольно просто. И я думаю, что простой .htaccess может просто обезопасить вещи, так что один пользователь может видеть и загружать файл только в своем собственном хранилище, не так ли?

Однако, если я хочу, чтобы они могли видетьчто нового (= то, что они не загрузили или просто пометили как прочитанное) Я думаю, мне нужна таблица для управления этими файлами.Что-то вроде id |файл (строка) |читай (bool).

Если ты считаешь, что этот путь плохой, они открыты, чтобы изменить порядок действий, но для ясности загрузка файла должна работать таким образом.Не используя какой-либо формуляр.

Спасибо за чтение, извините за мой английский.

1 Ответ

0 голосов
/ 08 июня 2018

Ваша проблема состоит из трех этапов:

  1. Папки / файлы были автоматически загружены в каталог вашего сервера, как вы говорите, это было эффективно обработано winSCP.
  2. Вам необходимо обновитьваша база данных со всеми файлами и папками, присутствующими в каталоге вашего сервера.
  3. Вам необходимо обновить, был ли он прочитан / загружен пользователем.

С момента первого шагана месте, нам там ничего не нужно.Для второго шага вы должны написать сценарий и запланировать его выполнение с фиксированным интервалом времени, используя CRON (при использовании LINUX или UNIX или WINDOWS ).Сценарий отвечает за создание списка файлов, присутствующих в каталоге, и просто вставляет информацию о файлах, которых нет в вашей базе данных.

РЕДАКТИРОВАТЬ: Эта редакция описывает, как должен работать ваш файл скрипта.Как я объяснил, задания cron просто помогут вам запустить файл скрипта с фиксированным интервалом (который может быть каждую минуту, или каждый час, или каждый день и т. Д.).Допустим, ваша таблица базы данных имеет следующие столбцы:

  1. fileid (varchar [20])
  2. filepath (varchar [20])
  3. status (логическое значение)

Ваш файл сценария должен выполнять следующие действия:

  1. Создать список существующих путей к файлам в каталоге вашего сервера
  2. Запустить запрос выбора, создать список существующихfilepaths из таблицы базы данных.
  3. Сравните list1 со list2 и найдите те, которых нет в list2 (это даст вам список filepath, который нужно вставить в таблицу)
  4. Просто вставьте список путей к файлам, которые вы получили выше, и установите для него статус false (что означает, что файл еще не прочитан / не загружен)

ПРИМЕЧАНИЕ : пожалуйста, сохраняйте вИмейте в виду, что я не советую прямо сейчас, как должна выглядеть ваша таблица базы данных.Это может быть то, что вы предложили, или даже может отличаться в зависимости от вашей воли или требований.

На третьем шаге просто оставьте статус вашего файла непрочитанным при создании записей в вашей таблице со второго шага,а затем, когда пользователь щелкает ссылку на файл в приложении, чтобы просмотреть или загрузить его, отправьте POST-запрос на сервер, обновив состояние файла, чтобы пометить его как прочитанный.

Дайте мне знать, если это поможет!

...