Добавление новости с картинкой

alpine

Новичок
Добавление новости с картинкой

Добавляю новость. В iframe-е заапложиваю картинку, которая ресайзится. В итоге у меня получается два файла - превьюха, и собственно картинка. Затем нажимаю сохранить ...

Варианты которые я придумал:

1) Картинка загружается(через iframe), ей присваивается уникальное имя, которое запихивается в hidden поле формы родительского окна. Сохраняю. Новость вставляется в базу, возвращается уникальный
PHP:
$id
новости, переименовываю картинку в
PHP:
'img'.$id.'.jpg'
(превьюху аналогично)
Недостаток: если я странный пользователь, зашел, зааплодил картинку, потом закрыл браузер - на сервере остаются временные файлы

2)Дабавляю новость. В базу вставляется поле с пустыми полями. Его
PHP:
$id
я знаю. Заапложиваю картинку и сразу ее именую
PHP:
'img'.$id.'.jpg'
. Сохраняю новость и update пустые поля.
Недостаток: если я странный пользователь, зашел, зааплодил картинку, потом закрыл браузер - на сервере остаются файлы и запись в базе с пустыми полями, но проще и надежней(чисто мое мнение) при реализации

Вопрос: Как правильно прицепить картинку к новости?
 

neko

tеam neko
что тебе мешает сделать одну форму через которую и картинка заливается и новость добавляется?

1 раз пишешь текст
1 раз выбирешь файл
1 раз нажиаешь сабмит
 

IntenT

SkyDiver
Проще и надежней интерфейс загрузки/управления файлом отделить от интерфейса заполнения формы.
 

neko

tеam neko
не вижу разницы.
объясни.
чем это проще и надежнее.
 

IntenT

SkyDiver
neko
Объясняю.
формы как правило требуют валидации. при этом, если есть некорректные данные, форму надо сабмитить заново. что произойдет при этом с полем file знаешь? правильно, оно станет пустым. тоесть в самом простом случае файл придется заливать заново.

теперь, что дает отделение интерфейса загрузки файла от формы.
1 - файл загружается 1 раз.
2 - не надо напрягаться с валидацией формы, потому что она не содержит полей типа file -> никаких проблем с предварительным созданием записи и прочим гемороем
3 - code reusability
 

neko

tеam neko
IntenT

спасибо за объяснение, в таком ключе об этом никогда не думал!!!

однако я непонимаю как ты решишь п. 2 имея отдельный интерфейс для заливки.
вот залил человек файл, ты сохранил его где-то
а потом человек начал запонять поля
и, вот беда, не прошли они валидацию!
файл то, того удалить надо бы..

и никто тебе не мешает и в случае одной формы файл загружать один раз.

а code reusability это образ мысли, а не следствие каких-то конкретных мелких решений
 

IntenT

SkyDiver
neko
и, вот беда, не прошли они валидацию!
файл то, того удалить надо бы..
зачем его удалять?? - исправил неправильные поля и все

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

-~{}~ 15.06.04 13:11:

и никто тебе не мешает и в случае одной формы файл загружать один раз.
никто не мешает, но для нормальной обработки ошибок извращаться придется намного больше.
А если у тебя не 1 файл, а 2 или 3 в форме?
запаришься.

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

neko

tеam neko
IntenT

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

ты так и скажи:
я не умею
я по другому привык делать и мне такой вариант не нравится

зачем людей вводить в заблуждение о каких-то немыслемых сложностях.
зачем придумывать какие-то гипотетические ситуации когда автор топика ясно сказал что у него картинка, а не N картинок
 

IntenT

SkyDiver
neko
ты так и скажи:
я не умею
я по другому привык делать и мне такой вариант не нравится
Эти слова более к тебе относятся, ибо
спасибо за объяснение, в таком ключе об этом никогда не думал!!!
А я вот думал. И пробовал оба способа, и опыт показал, что надо разделять.

Впрочем, наступайте на свои грабли сколько угодно
 

neko

tеam neko
IntenT

Эти слова более к тебе относятся, ибо
дада у меня и справка есть

пойди еще подумай, а заодно и ответь таки на вопросы:

какая связь между количеством форм и необходимостью перевводить данные?
таки придется или непридется нам повторно заливать картинку?

а также какое отношения имеют твои фантазии о множестве файлов к первоначальному вопросу?
 

alpine

Новичок
Это тут у вас че? Фича такая, выяснить кто ламер, а кто притворятся ?!
neko ты вот что скажи:
- Можно ли одной формой отправить текстовую информацию и зааплодить файл ?
 

Фанат

oncle terrible
Команда форума
никаких дельных аргументов за то, чтобы в одну и ту же форму пихать и файл и текст никто не привел.

за то, чтобы разделять - есть веские аргументы.
1. Файл может быть большим и загрузка долгой.
гонять из-за ошибок в тексте туда-сюда файл - идиотизм.
2. поле файла не валуяится. при ошибке в тексте надо заново идти и бровзить файл. РАЗДРАЖАЕТ НЕИМОВЕРНО.

какая проблема файл заливать ПОСЛЕ текста?
 

IntenT

SkyDiver
Krisha
Ты написал глупость
:)
твое имхо неправильное.

-~{}~ 15.06.04 17:58:

Из всего что тут написано могу сделать один вывод - кроме фаната никто не валидировал формы с аплоадом файлов по-человечески.
 
Сверху