[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Временное хранение файлов
eXaM
Сразу извиняюсь, если такой вопрос уже задавался, но ни поиск по форуму, ни поисковики не помогли мне найти решение моей весьма тривиальной проблемы. Собственно, задача весьма распостраненная: пишу модуль новостей, точнее, админку. Нужно сделать псевдо-AJAX загрузку фотографий со вставкой в WYSIWYG-редактор. С клиентской частью все понятно - инфы в сети море. А вот по поводу серверной стороны вопроса ничего нагуглить не удалось. Единственное, что приходит на ум - следующая модель:
1) Создаем папку для хранения временных фоток.
2) При добавлении новости загруженные файлы помещаем во временную папку.
3) После сабмита формы перемещаем файлы из временной папки в основную.

Вопрос в том, что делать с временной папкой в случае, если пользователь заполнил форму добавления новости, но не отправил. Мы ведь не можем очищать её время от времени при помощи, допустим, Cron, т.к. есть вероятность очистить папку во время добавления новости. Пока что я вижу только два решения: либо очищать временную папку при открытии формы добавления, либо при добавлении новости в случае, если временная папка не пуста, содержащиеся в ней файлы просто отображать как уже загруженные. То есть человек открыл форму добавления, загрузил фото, закрыл страницу, не отправляя форму, опять открыл, и загруженные фото снова перед ним.

Мой метод кажется мне костыльным и колхозным, однако ни гугл, ни медитация под звуки кулера не дают иных результатов sad.gif надеюсь на помощь господ знатоков.
Valick
В чём проблема сделать такую папку для каждого добавляющего? Я думаю дальше догадаетесь smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
eXaM
Добавляющий один, с этим проблем нет. Мне именно что чуйка подсказывает, что как-то я неэффективно решил вопрос и можно лучше.
McLotos
А что если каждый раз это будет разная папка? тогда можно не паниковать. Допустим отлавливать ssid того кто добавляет информацию и использовать этот ssid в имени папки?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
vital
На самом деле - показывать уже загруженные файлы хорошая идея на мой взгляд - это удобно же. Можно загрузить файлы, сделать типа черновик, закрыть, потом придти и доделать.

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

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.