| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Форма обратной связи с прикреплением файла |
| Автор: avadmarkgmail 2.4.2016, 13:59 | ||||||
| Доброго времени суток. Помогите пожалуйста разобраться. Сам уже закипаю. Что необходимо: На сайте в форме обратной связи добавить возможность прикрепления файлов. Отсылать сообщение на почту с прикрепленными файлами. Что есть: Сайт на Perl, БД MySQL На сколько я понимаю: необходимо в таблицу БД добавить поле с типом mediumBlob. Из формы на сайте записывать файл в БД. А потом отправлять сообщение на почту? Что у меня не так, помогите. Про что я забыл.
|
| Автор: igorold 3.4.2016, 19:35 |
| А что не получается? Во-вторых, файл не обязательно в базу пихать, можно во временные папки записывать. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_57014666ae2015177878c7ab_0 |
| Автор: avadmarkgmail 4.4.2016, 08:12 |
| Не получается: файл не записывается в БД. А что более правильно, писать в БД или во временные папки? Есть необходимость хранения истории вложенных файлов. Данной формой пользуются порядком 10 в день. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_5701f7bcae2015544b78bcfd_0 |
| Автор: igorold 4.4.2016, 12:53 | ||
Добавь строку enctype="multipart/form-data" в тег <form :
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_5702399fae20152f4d78b446_0 |
| Автор: igorold 4.4.2016, 12:56 |
| Насчет правильности - для каждого случая свой вариант. Я записываю файлы в папки и привязываю к нужной табличке имя файла, имя папок расчетное, чтобы в одной папке не было слишком много файлов, т.к. на сервере у меня red hat Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_57023a40ae2015f54b78b692_0 |
| Автор: avadmarkgmail 6.4.2016, 16:15 |
| Выдает ошибку: CGI.pm open of tmpfile /var/tmp/CGItemp7473/Gica.png failed: Read-only file system Я так понимаю, необходимо открыть доступ к папке /var/tmp/CGItemp7473/ на запись. Получается файл при добавлении в бд пишется в эту папку а потом только происходит сохранение его? Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_57050be8ae2015203c78b9ed_0 |
| Автор: igorold 6.4.2016, 20:04 |
| да, нужно дать права для всех rwx для папки /var/tmp/CGItemp7473/ Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_57054187ae2015567a78b651_0 |
| Автор: igorold 7.4.2016, 07:26 |
| Хотя у меня какие-то временные файлы пишутся в /var/tmp ... без промежуточных файлов. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_5705e167ae2015323278b921_0 |
| Автор: avadmarkgmail 7.4.2016, 11:39 |
| Возникла еще одна проблема. Хостинг является защищенным, поэтому прав на /var/tmp никаких нету. Можно ли как-то поменять что бы файл заливался на /home/sites/ вместо /var/tmp? Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_57061cd3ae2015aa1d78b5ac_0 |
| Автор: igorold 7.4.2016, 13:22 |
| скорее всего с админами хостинга надо консультироваться. На нашем сервере для /var/tmp - все права для всех. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Forma-obratnoy-svyazi-s-prikrepleniyem-fayla-id56ffa634ae2015be0a8b4567#findElement_E7045_570634f9ae2015213778b859_0 |