php - многошаговая форма с загрузкой файлов - PullRequest
2 голосов
/ 05 октября 2011

Я не могу найти разъяснения.У меня есть 7 шагов, а второй - загрузить файл.У меня проблема в том, что на последнем шаге, когда я завершаю форму и пытаюсь получить доступ к временному файлу, он говорит: «Не удалось получить доступ к файлу: ...» (сохранен в папке tmp по умолчанию).

В других многошаговых руководствах говорится, что вы должны сохранить его во временной папке, а затем перейти к соответствующей папке после завершения.Значит, они означают, что я перемещаю его из временной папки по умолчанию в временную папку, которой я управляю, а затем, когда они заполняют форму, снова перемещает ее в конечную папку?

Ответы [ 3 ]

2 голосов
/ 05 октября 2011

Значит ли это, что я перемещаю его из временной папки по умолчанию во временную папку, которой я управляю, а затем, когда они заполняют форму, снова перемещает ее в конечную папку?

Да,именно так.Вы делаете первый шаг в запросе, который получает файлы, потому что, когда этот запрос будет завершен, PHP удалит их, если они еще существуют.

См. move_uploaded_file Документы и Обработка загрузки файлов .

0 голосов
/ 05 октября 2011

Возможно, вы ищете файл не в том месте.PHP хранит файл во временном местоположении, заданном в массиве $ _FILES как tmp_name под соответствующим индексом.Вот хорошее место, чтобы освежить свои основы: http://www.w3schools.com/php/php_file_upload.asp

0 голосов
/ 05 октября 2011

С «временной папкой» они не означают /temp.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...