Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Форма в несколько шагов - как передавать файлы?

Сообщения:  [1-10]    [11-20]  [21-26] 

 
 автор: G-Style   (26.02.2010 в 19:33)   письмо автору
 
   для: sim5   (26.02.2010 в 19:03)
 

Не, там не аватар. Там фотография будет. Да там все данные будут в сессии. Да, картинка будет храниться там обработанная, просто я грубо взял на максимум.

  Ответить  
 
 автор: sim5   (26.02.2010 в 19:03)   письмо автору
 
   для: G-Style   (26.02.2010 в 18:59)
 

А зачем все 2 МБ картинки, которая как я понял для аватарки, даже в случае, если пользователь ее первой пришлет, хранить? Уж если на то пошло, то все временно хранить в сессии, включая и картинку, но предварительно уменшенную, это никак не 2 МБ будет, места хватит.

  Ответить  
 
 автор: G-Style   (26.02.2010 в 18:59)   письмо автору
 
   для: Trianon   (26.02.2010 в 18:50)
 

Я подумал, что 2 Мб для сессии это много, но ведь она хранится не в оперативной памяти, поэтому я передумал. Ведь в данный момент сервера уже достаточно мощны, чтобы работать с таким объемом данных, я так думаю… Хотя, наверное, я могу ошибаться. Первое время тогда пока так пусть работает, а если будут наблюдаться проблемы с этим, то будем придумывать другой способ. Способ с таблицами хороший, буду учитывать в дальнейшем данную возможность.

Огромное спасибо, Trianon и sim5!

  Ответить  
 
 автор: Trianon   (26.02.2010 в 18:50)   письмо автору
 
   для: G-Style   (26.02.2010 в 16:23)
 

>>Минус - дикий объем данных передачи сервер-клиент-сервер. Скрипт в общем случае может просто не заработать.

>Не совсем так, фотография ограничена по объему в 2Мб. Передается фото на сервер (после обработки) там и остается.

2 Mб это дикий объем, даже для сессии.


>>Загружать файл на последнем этапе...

Это не моя реплика.

>>Ну и в чем проблема? Вы ведь в состоянии проверить все ли получено из N, следовательно...

Это не моя реплика.

  Ответить  
 
 автор: sim5   (26.02.2010 в 17:44)   письмо автору
 
   для: G-Style   (26.02.2010 в 17:28)
 

Данные сессии хранятся в файле во временной папке.

  Ответить  
 
 автор: G-Style   (26.02.2010 в 17:28)   письмо автору
 
   для: sim5   (26.02.2010 в 16:41)
 

Как я и написал выше – я использовал сессию. И конечно то, что вы написали, что мусор отпадает сам собой (а это именно то, чего я и хотел получить в результате). Форма достаточно большая, и некоторые шаги поделены на открытые и закрытые вкладки (как Вы писали выше). Тут логично было бы разбить на шаги, как я и сделал.
Но теперь у меня назрел другой вопрос (ответ на которые я должен был знать еще давно, но увы…): Данные сессии хранятся в оперативной памяти?

sim5, спасибо за активное участие и помощь! И все остальным, кто принял участие тоже спасибо!

  Ответить  
 
 автор: sim5   (26.02.2010 в 16:41)   письмо автору
 
   для: G-Style   (26.02.2010 в 16:23)
 

Я не думаю, что вы от клиента требуете многотомный архив данных о нем, следовательно, если временным хранилищем выбрать сессию, то:
а) проверить все ли прислано, и стоит ли сохранить в базе, труда не составит.
б) пользователь покинет вас - ну и бог с ним, и до записи не дойдет, и мусор сам по себе канет
в) если "пошаговое" обусловлено большой формой, то это совсем еще не значит, что ее трудно поместить на одной странице - почему бы не дать пользователю возможность открывать ее частями (согласно логике интересующей вас информации), а по заполнении одной части, можно и автоматом открывать слюдущую...
г) если же всетаки пошагово отдавать форму пользователю, то картинку нужно загружать последней
д) редактирование это уже несколько иное
В общем можно всяко яко, но в любом решении я бы использовал сессию, и проблем собственно никаких не вижу.

  Ответить  
 
 автор: G-Style   (26.02.2010 в 16:23)   письмо автору
 
   для: Trianon   (26.02.2010 в 12:01)
 

Минус - дикий объем данных передачи сервер-клиент-сервер. Скрипт в общем случае может просто не заработать.

Не совсем так, фотография ограничена по объему в 2Мб. Передается фото на сервер (после обработки) там и остается.

Загружать файл на последнем этапе заполнения формы, перед самой отправкой данных на сервер. или дать возможность загрузить файл после того, как данные будут отправлены на сервер, что то вроде того, как редактируется профиль пользователя после регистрации(загрузка аватара).

Тут есть минусы в том, что последовательность шагов не логична, да и я предпочитаю решить поставленную задачу к желаемому результату.

Ну и в чем проблема? Вы ведь в состоянии проверить все ли получено из N, следовательно...

Извините, вот тут не совсем понял, что следовательно? Закрыл клиент браузер и все, теперь уже скрипт «не знает» о том, что дальше ничего не будет :)

В итоге сделал так (как и писал выше): открываем файл с временного хранилища, считываем содержимое в сессию, продолжаем процесс. На последнем этапе, если данные были успешно помещены в БД, то и файл создаем в нужной директории.

  Ответить  
 
 автор: Trianon   (26.02.2010 в 12:01)   письмо автору
 
   для: phmaster   (26.02.2010 в 11:14)
 

последующую загрузку придется выполнять в другом скрипте /экземпляре скрипта.
Автор вопроса, как я понял, этого хочет избежать. Иначе вопрос бы просто не возник.

А если Вы ничего не поняли - стоит перечитать диалог и подумать.

  Ответить  
 
 автор: phmaster   (26.02.2010 в 11:14)   письмо автору
 
   для: Trianon   (26.02.2010 в 10:04)
 

Признаться ничего не понял, в скрипте обработчика события нельзя выполнять вставку в таблицу бд и последующую загрузку фотографии ?

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-26] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования