Загрузка файлов на сервер через форму (нид хелп)
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", файлы можно сохранить на диск куда надо, а в БД добавлять информацию о прикрепленном к статье файле (чтобы потом можно было удалить всё сразу: и статью и файлы).
Короче говоря получается очень криво, громоздко и неуниверсально.
Кто что может посоветовать?
- Загрузка файлов на сервер через форму (нид хелп), Green Drake 01.03.2007 18:23 / 01.03.2007 18:43
- Ответ, Misha v.3 [M] 03.03.2007 15:58
- Ответ, Александр 02.03.2007 03:05 / 02.03.2007 03:05