2013-02-28 3 views
0

Поток моей нескольких частей формы в основном форму ответа -> Просмотр формы -> Загрузить в базу данных

Сейчас я закачать свои файлы на этапе предварительного просмотра, так как POST данные свежие от фактической формы. Моя проблема заключается в доступе $_FILES один раз в функции «Загрузить в базу данных», потому что var_dump($_FILES) возвращает array(0) {} один раз внутри upload_to_database().

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

Я думал, что фактически делает скрытый input[type=file] на этапе предварительного просмотра, чтобы убедиться, что мой upload_to_database() получит $_FILES, но это не представляется возможным из-за соображений безопасности.

Как я могу получить полный и постоянный $_FILES от предварительного просмотра до upload_to_database()?

+0

Используйте метод вкладок для шагов (ответ, предварительный просмотр, загрузка) таким образом, чтобы вам не нужно было потерять какие-либо данные, просто распечатайте переменные/значения ввода и для массива $ _FILES, вы можете опубликовать это в iframe на вкладке предварительного просмотра – Philip

ответ

0

Может быть, вы можете поместить $_FILES в $_SESSION в «Предварительный просмотр» шаг и получить его в «Upload шаг»

+0

Я думаю, что это будет невозможно, если данные будут> 4kb, что является пределом для сеансов CI. – 2013-02-28 17:20:45

+0

Сохраните файлы в «Шаге предварительного просмотра» во временном каталоге (он должен быть очищен каждый день cron) и сохраните файлы в порядке «Загрузить». – steppefox

0

Вы можете сохранить файл на сервере, а затем передать местоположение файла в $ _SESSION. Затем просто настройте задание cron для ведения домашнего хозяйства и удалите все файлы, которые сидели больше, чем что-то вроде разумного количества времени.

Смежные вопросы