загрузка файлов изображений и ошибки валидации текстовых полей - кто как решает?

MiksIr

miksir@home:~$
Плохая практика - не думать своей головой. А по ссылкам ничего вида "плохая практика" нет.
Ясно дело, если это у вас публичная регистрация - или публичная форма - так делать не нужно, тут нужная валидация на клиенте.
Если это создание новости в админке - отличный вариант. Особо когда там визивиг редактор с загрузкой фото.

-~{}~ 09.09.10 19:03:

Но в конце концов - если для вас это плохая практика - складывайте картинки в одно место, записывайте в сесию или в скрытые поля и т.д. и т.п. Чем бы дитя не тешилось...
 

AmdY

Пью пиво
Команда форума
кстати, такая ситуация возникает при наличии ajax загрузчика, человек выбрал файл, тот подгружается пока заполняются остальные поля (например письмо в гмыле). буквально вчера с другом обсуждали, нужно писать в базу, кто, что и когда, уникальный идентификатор формы. основная проблема - чистить, если сессия завершилась, а форма так и не была послана.
 

dimagolov

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

MiksIr

miksir@home:~$
AmdY в большинстве случаев достаточно проходится по загруженным файлам кроном и смотреть на время создания. В обшем не большая проблема.
 

AmdY

Пью пиво
Команда форума
MiksIr
проблема в том, что пользователь может форму отправить не сразу, а через день-два, если система с "запомнить меня", а может и никогда не грузить :(.
 

tz-lom

Продвинутый новичок
я бы сделал так:
файлы заливаются и кладутся в базу
если статья идёт не на сохранение а на переработку то я в ручную создаю модель статьи (а не гружу из базы) и кидаю её на редактирование (!!!!),ну,хак типа id=0 -> создать новую вполне приветствуется
ну вот и всё,так можно делать бесконечно долго

ALSO
можно статью закидывать сразу в базу но ставить флаг "не публиковать-ещё не доделана"

единственный минус обоих вариантов - нужно на крон ставить чистку от повисших файлов и статей,а так в принципе всё можно красиво оформить
 

HEm

Сетевой бобер
KolyaA
это неудобно
архинеудобно, если несколько картинок, а лежат они в разных местах
 

craz

Нестандартное звание
craz
причем тут защита? Речь о том, куда, как и в каком виде складировать картинки, принадлежащие к ещё не созданной статье.
Нет статьи нет картинки блин!

Картинки складируют пусть на своем локальном компе.
 

SiZE

Новичок
Я позаимствовал способ у ребят из IPB. Генерируется случайное число. Добавляется в форму скрытым параметром. Файлы загруженные пользователем хранят в базе этот идентификатор и в дальнейшем у статьи тоже он должен быть сохранен - это будет связь один ко многим (статья <-> файлы). Соответственно робот периодически проверяет есть ли мусор в таблице и чистит, главное не почистить файлы для которых статья еще только пишеться, т.е. проверять время создания. Такой способ не удобен тем, что нельзя повесить внешний ключ ( или придется генерировать фейковую статью ) и приходится писать дополнительный парсер удаления лишних файлов. Но он удобен с точки зрения пользователя и я считаю, что ситуаций когда пользователь загрузит файлы и не станет писать статью, у него перезагрузится или зависнет комп будет минимум.
 
Сверху