2012-03-13 2 views
1

Do $_FILES["file_name"]["tmp_name"]; может быть уничтожен, если пользователь перейдет на другую страницу php?Удаляет ли tmp_name, когда пользователь переходит на другую страницу php?

Я пытаюсь передать tmp_name в поле скрытой формы в действительную функцию отправки, где tmp_name копируется на сервер.

Так что это мой поток: Пользователь Отправляет формы -> Пользователь подтверждает представление (все $ _POST добавляются скрытые поля) -> После подтверждения данных представляется и файл copy() на сервер

ответ

5

загрузка файлов работать так:

  • пользователя отправляет форму, загрузив файл на сервер
  • PHP хранит полученные данные файла в каталоге/TMP, помещая имя файла в массив $_FILES сценария
  • PHP выполняет сценарий, вы делаете с данными, что вы хотите
  • , когда ваш скрипт будет сделан, PHP будет очистить загруженные данные файлов из каталога/TMP, если он все еще существует там

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

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

+0

Это подтверждает, почему у меня возникают проблемы. – Denoteone

+0

+1 Спасибо, и я проверю t, когда разрешено – Denoteone

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