PDA

Просмотр полной версии : Для чего пользуют move_uploaded_file?



mac
11.02.2008, 13:59
Есть такой кусок кода:
$fname = tempnam($_SERVER['DOCUMENT_ROOT'].'/tmp/', 'upload');
if (move_uploaded_file($_FILES['file_to_upload']['tmp_name'], $fname)) {
..что-то делаем с загруженным файлом..
}

Вопрос.
Почему бы не напрямую работать с $_FILES['file_to_upload']?
Насколько я понимаю, PHP в любом случае сам где-то сохраняет загруженый файл, так к чему его ещё куда-то перемещать в другое место?

Strannik-au
11.02.2008, 16:38
Есть такой кусок кода:
$fname = tempnam($_SERVER['DOCUMENT_ROOT'].'/tmp/', 'upload');
if (move_uploaded_file($_FILES['file_to_upload']['tmp_name'], $fname)) {
..что-то делаем с загруженным файлом..
}

Вопрос.
Почему бы не напрямую работать с $_FILES['file_to_upload']?
Насколько я понимаю, PHP в любом случае сам где-то сохраняет загруженый файл, так к чему его ещё куда-то перемещать в другое место?

вот именно что сохраняет он их "где-то"

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

откуда она будет их брать если ты их не передвинешь в заранее известный локейшн?

mac
13.02.2008, 18:11
вот именно что сохраняет он их "где-то"

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

откуда она будет их брать если ты их не передвинешь в заранее известный локейшн?

с галереей это и так ясно ), а если я файл обрабатываю(текстовик) или загружаю потом на другой сервер скриптом и т.д. Можно ведь обойтись и без этой функции? Или есть вероятность что в процессе работы он "затрётся" другим загруженным файлом?

Strannik-au
15.02.2008, 01:21
если ты это сделаешь сразу же, то нормально, а если нет то пхп через какое то время стирает файлы из /tmp, так что ты можешь его уже не найти