Перемещение загруженного файла PHP

Я пытаюсь сделать сценарий загрузки с html-формами и PHP, я видел много людей, использующих move_uploaded_file и я не могу понять, что он делает, я огляделся, и все остальные сайты слишком сложны для меня. Может кто-то «тупой» это немного для меня?

Пример того, что я увидел:

 if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) 

Также может кто-то объяснить мне $_FILES ?

$ _FILES является суперглобальным, похожим на $ _GET или $ _POST, который хранит информацию о загруженном файле.

Если имя вашего элемента формы ввода для загрузки является «myfile», то после загрузки у вас будет Assiciative array $ _FILES ['myfile'], сохраняющий все данные о загруженном файле. Чтобы узнать об этом, просто var_dump ():

 var_dump($_FILES['myfile']); 

Все загруженные файлы, как правило, сначала загружаются в каталог / tmp (или любой другой каталог устанавливается для этой цели в файле php.ini). После выполнения некоторых проверок проверки файла (например, тестирования для правильного типа mime), вы захотите перенести файл в конечный пункт назначения. Это то, для чего предназначена функция move_uploaded_file ().

В этом случае $ _FILES ['userfile'] ['tmp_name'] – это временный путь к файлу загруженного файла, а $ uploadfile должен хранить конечный путь файла.

move_uploaded_file – перемещает загруженный файл в новое место

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

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

С какой частью этого руководства вам нужна помощь?

$_FILES из руководства PHP:

Ассоциативный массив элементов, загруженных в текущий скрипт с помощью метода HTTP POST.

move_uploaded_file() из руководства PHP:

 bool move_uploaded_file ( string $filename , string $destination ) 

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


Вы можете использовать его следующим образом:

 if(move_uploaded_file($_FILES['picture']['tmp_name'], './uploads/'.$_FILES['picture']['name'])) echo 'File successfully uploaded'; else echo 'File could not be uploaded'; 

$_FILES['picture']['tmp_name'] :

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

$_FILES['picture']['name'] :

Исходное имя файла на клиентской машине.

Для получения дополнительной информации ознакомьтесь с методами загрузки POST