Что означает $ _FILES [& quot; загрузить & quot;] [& quot; tmp_name & quot;]

У меня есть общий вопрос о php, я не могу понять, что означает $ _FILES [«upload»] [«tmp_name»], почему я должен загружать файл в папку tmp, а не direclty в постоянную папку?
Спасибо, что прочитали, хорошего дня!

0

Решение

Интерпретатор PHP помещает загруженный файл во временный каталог, используя сгенерированное имя, и сохраняет путь в $_FILES['...']['tmp_name'] перед запуском вашего скрипта PHP.

Ты можешь использовать is_uploaded_file() чтобы убедиться, что содержание $_FILES['...']['tmp_name'] действительно путь к загруженному файлу (и он не был каким-то образом подделан в запросе), затем используйте move_uploaded_file() поместить файл в его конечные пункты назначения.

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

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

Код обычно выглядит так:

if (is_uploaded_file($_FILES['abc']['tmp_name'])) {
// Generate the path where to store the file
// Depending on the expected file type you can use getimagesize()
// or mime_content_type() to find the correct file extension
// and various ways to generate an unique file name (to not overwrite
// the file already existing in the storage directory)
$finalpath = '...';

if (move_uploaded_file($_FILES['abc']['tmp_name'], $finalpath)) {
// Successfully uploaded and processed.
} else {
// Cannot move the file; maybe there is a permissions issue
// or the destination directory simply doesn't exist.
}
} else {
// The upload failed.
// Check the value of $_FILES['abc']['error'] to find out why
// (usually no file was uploaded or the file is too large).
}

Читайте о способе обработки PHP загрузка файлов.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector