Где php хранит загруженные файлы и как долго?Массив FILES говорит в / tmp но я их не вижу - PullRequest
0 голосов
/ 15 февраля 2012

Я пишу часть приложения php, и когда все формы были заполнены (2 страницы форм), пользователь имеет возможность «просмотреть» свое сообщение перед отправкой в ​​БД.Использовать сеансы для хранения текстовой информации достаточно просто, и когда я попадаю на страницу предварительного просмотра, я могу просто извлечь текстовые данные из сеанса.Проблема в том, что они также могут загрузить изображение со своим постом.Я знаю, что могу переместить_фаг загруженный_файл изображения во временную папку, отобразить его, а затем удалить, как только пользователь отправит / решит не публиковать.Но мне интересно, могу ли я просто вытащить изображение из этого места / tmp и отобразить его только для страницы предварительного просмотра, не перемещая файл_перекачанный_файл.Спасибо

1 Ответ

3 голосов
/ 15 февраля 2012

Загруженные данные удаляются из местоположения / tmp по завершении сценария. Если вы не переместите его в другое место, он исчезнет навсегда. Это работает так:

  • HTTP-запрос приходит с данными загруженного файла
  • PHP перемещает данные в файл tmp
  • PHP запускает ваш скрипт, помещает имя файла tmp в массив $_FILES
  • когда ваш скрипт завершен, PHP удаляет файл tmp, если он все еще присутствует
...