Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Как оцените подход хранения файлов?

Обсуждение темы Как оцените подход хранения файлов? в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Понемногу - помаленьку разрабатываю я собственную систему управления сайтом. Причины просты: мне нужна система для секретарш: чтобы любой, зашедший в админку, в течении ...


Закрытая тема
 
Опции темы
Старый 20.05.2008, 12:16   #1
Понемногу - помаленьку разрабатываю я собственную систему управления сайтом.
Причины просты: мне нужна система для секретарш: чтобы любой, зашедший в админку, в течении 10 минут понял суть управления и мог спокойно работать.
Посему я и отказался от коробочных продуктов и прочего.
На самом деле, многи подходы я тупо передрал с джумлы, но реализовал и много своих.
Ну да ладно, это был флейм.

Вопрос сейчас у меня следующий: я реализовал систему закачки и хранения файлов следующим образом:
- Пользователь закачивает файлы стандартным http upload-ом (на самом деле в основном я сейчас говорю про изображения, большие файлы - отдельная тема). то есть из формочки или из FckEditor-а.
При закачке, ссылка на файл помещается в табличку БД со временем добавления и считается временной.
При сохранении результата время закачки убирается = NULL, тем самым делая файл постоянным, и осуществляется логическая привязка картинки к объекту, к которому она относиться.
Если сохранение отменено, то картинка удаляется.
Каждый раз, при попытке закачать новый файл, удаляются все записи из таблички (и все файлы), которые были закаченны более суток назад (пользователь не нажимал не сохранить не отмену, а просто закрыл браузер).
Впоследствии при удалении сущности, на которую залочен файл, файл удаляется вместе с ней.
При изменении сущности все файлы (и старые и новые) помечаются временными, а потом удаляются те, которые более не используются.


Ну да ладно я описал аглоритм, чтоб показать, что дыр в нём нет, и никакой файл на серваке не "зависнет" более чем на 24 часа.

Но вот вопрос к профи: насколько такой подход... эээ... корретен?
 
Старый 20.05.2008, 12:16
Ссылки
Старый 20.05.2008, 15:20   #2
Корректен. Только зачем использовать БД? У каждого файла есть время создания и время модификации.

Предлагаю упростить алгоритм:
1. Файл закачивается во временную папку.
2. Если сохранение подтверждено, он перемещается в некоторую «постоянную папку» и прописывается в БД (связывается со страницей).
3. Если сохранение отменено, файл удаляется.
4. По крону раз в час (день, неделю, месяц) запускается скрипт, который просматривает временную папку, проверяет у каждого файла время последней модификации (функция filemtime) и удаляет устаревшие.

И, кстати, таймаут в 24 часа слишком велик. И часа хватит.
 
Старый 20.05.2008, 16:12   #3
поскольку я не всегда помещаю работы на ентой cms на свой хостинг, бывает и виртуальный с паролями к фтп и выданной с барского плеча БД-шке, то обход по крон отпадает, хотя он явно лучше моего подхода, но...
 
Старый 20.05.2008, 18:28   #4
Покажите мне хостинг, где нету крона. А после забудьте про этот хостинг раз и навсегда.

К тому же, крон всегда можно эмулировать.
 
Старый 20.05.2008, 21:41   #5
Я про ситуацию, когда клиенту вполне нравиться хостинг, но хостинг не его, а друзей, а те максимум на что готовы пойти - создать БД и дать тебе временный пароль к ftp и пароль к БД. Бывают и такие...
 
Старый 21.05.2008, 08:54   #6
Читать ещё раз внимательно:
Цитата:
К тому же, крон всегда можно эмулировать.
 
Старый 21.05.2008, 08:54
Закрытая тема


Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Профессиональное создание лендингов. Индивидуальный подход. vadya777 Резюме 1 29.07.2015 08:49
Оцените наш подход к сайтостроению ShaoFeyHoo Зал дебютантов 4 09.09.2012 14:43
Копеечный хостинг для хранения контента dimkon Платный хостинг 2 10.10.2011 17:55
имена файлов и php Подсолнух ASP, Perl, PHP и MySQL 2 26.12.2006 15:10
Код загрузки файлов Promolab HTML, CSS, JavaScript 1 07.06.2003 16:15


Текущее время: 12:53. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум