parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

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

Green Drake 01.03.2007 18:23 / 01.03.2007 18:43

Думал сделать так: есть две кнопки "Submit", первая отправляет всю форму, вторая загружает файл (снизу выводится информация о прикрепленных файлах и, возможно, еще одна кнопка "Submit" для удаления выбранных файлов из списка загрузки).
Такой вариант реализовать не получилось, так как поле в форме одно, а добавление следующего файла перезаписывает старый; и что более важно - при отправке всей формы через главный "Сабмит", $form:file засабмиттеный второй кнопкой почему-то куда-то исчезает (((
<FORM method="POST" enctype="multipart/form-data">
<P>Текст <textarea name="body">$form:body</textarea>
<P><input type="submit" value="Добавить статью" name="posted">
#### Загрузка картинки 
<P>Файл <INPUT type="file" name="file">
<P><input type="submit" value="Загрузить файл" name="load_pic">
</FORM>

<P>^if(def $form:file){<a href="#" onclick="add_link()">$form:file.name</a> ($form:file.size байт)}
add_link() служит для постановки ссылки на файл в body статьи.

Можно сохранять файлы сразу на сервер (во временную директорию), но их ведь нужно как-то чистить на случай закрытия страницы, зависания компа, наконец. Да и как отличить эти файлы от сохраненных другим пользователем?..
Можно конвертить файлы в base64 и сохранять в кукесы, а при случае их с предыдущей страницы (список статей, к примеру) каждый раз удалять/чистить. Из кукесов, при нажатии на главную кнопку "Submit", файлы можно сохранить на диск куда надо, а в БД добавлять информацию о прикрепленном к статье файле (чтобы потом можно было удалить всё сразу: и статью и файлы).

Короче говоря получается очень криво, громоздко и неуниверсально.

Кто что может посоветовать?