Как долго загруженные файлы остаются на вашем сервере? - PullRequest
8 голосов
/ 13 июля 2010

Когда я использую форму для загрузки файла, она дает мне 'name' и 'tmp_name', и вы должны переместить файл из временного расположения, чтобы сохранить его.Но как долго файл остается на сервере, прежде чем он будет удален?Хранится ли он там до тех пор, пока вы не очистите свои папки вручную, или он будет удален после того, как скрипт PHP, который был отправлен, также будет завершен?Моя форма охватывает несколько страниц, и я хотел просто обработать все в конце, а не обрабатывать детали после завершения каждой страницы формы.Загрузка выполняется в шаге 3 из 5, поэтому мне было интересно, сохранил ли я информацию о загруженном файле, начиная с шага 3, и останется ли файл там, когда форма будет завершена после шага 5.

Ответы [ 3 ]

8 голосов
/ 13 июля 2010

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

6 голосов
/ 13 июля 2010

он будет удален после того, как скрипт PHP, который был отправлен, тоже завершит работу

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

1 голос
/ 13 июля 2010

Это зависит от папки загрузки tmp. Если это каталог tmp, вы не можете доверять его действию до шага 5. Если вы управляете папкой загрузки, вы можете надежно доверять ей, чтобы она действовала до шага 5. Вы можете установить путь загрузки с помощью upload_tmp_dir

...