Управление закачками файлов (исходников)

Для того, чтобы приступить к решению вопроса, нужно определиться с:

  • определением БД информации о файлах
  • файловой иерархией поступаемых файлов
  • файловой иерархией архива файлов

Определение БД информации о файлах

Выделим сущности, на основании которых можно создавать базу данных.

Поля

  • SrcName - Название программы/проекта
  • Author - Автор
  • Email - Координаты (эл. почта)
  • Category - Категории, к котороым относится программа/проект, через запятую
  • License - Лицензия распространения (GPL,LGPL,MPL,BSD,Creative Commons,Copyleft,…)
  • BriefDesc - Короткое описание (у заголовка)
  • FullDesc - Полное описание
  • DateUploaded - Дата закачки
  • Keywords - Ключевые слова через запятую
  • Rating - Рейтинг пользователей
  • Comments - Комментарии пользователей (?)
  • SrcSize - Размер файлов программы/проекта в КБ.

Этих данных должно быть достаточно для того, чтобы находить по ним путь к файлам искомой программы.

Файловая иерархия поступаемых файлов

В корневой папке Incoming будут помещаться папки с именем формата времени yyyymm (закачки за период одного месяца), внутри которых будут размещаться папки с названием программы/проекта, в которых, в свою очередь, должны находиться прилагаемые файлы.

Структура директорий:

Incoming/yyyymm/%sourcename%/sourcefiles

Файловая иерархия архива файлов

В корневой директории SrcArchive будут помещаться директории с именем формата времени yyyy (закачки за период одного года), внутри которых будут размещаться директории с названием программы/проекта, в которых, в свою очередь, должны находиться прилагаемые файлы.

Структура директорий:

SrcArchive/yyyy/%sourcename%/sourcefiles

Добавление новой программы

  1. Заполняются поля данных о программе. Если не указана категория, то по умолчанию она принимается как «Разное».
  2. Получение пути для сохранения программы
  3. Перемещение файлов в директорию архива
  4. Добавление записи в БД

Получение пути для сохранения программы

Входные данные

  • поле SrcName
  • текущий год - yyyy
  • путь к месту хранения временных файлов, содержащий файлы программы

Выходные данные

  • путь к месту хранения файлов в директории SrcArchive.

Добавление записи в БД

INSERT INTO tablename VALUES (...)

Выборка списка программ из БД

  1. Выбор критериев поиска
  2. Получение ответа на запрос

Выбор критериев поиска

Выбираются критерии поиска: по имени, по дате, типу лицензии и т.д.

Получение ответа на запрос

SELECT ... FROM tablename WHERE ...
 
projects/site_upgrade/uploads_management.txt · Последнее изменение: d.m.Y H:i — romtek
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki