$_FILES
- магический суперглобаль, похожий на $_POST
. Это массив каждого файла, который был загружен в последнем запросе, и где этот файл хранится (tmp_name
).
tmp_name
в основном генерируется веб-сервером, чтобы сообщить PHP, где они сохранили файл.
В каждом элементе массива $_FILES
доступны следующие элементы:
- имя (оригинальное имя файла)
- type (MIME-тип файла, т. Е. Text / plain)
- tmp_name (Путь к временному расположению загруженных файлов)
- ошибка (ошибка при загрузке, 0 при отсутствии ошибки)
- размер (размер загружаемого файла в байтах)
Из того, что я вижу в вашем коде, это будет прекрасно работать, и, как обсуждалось в комментариях, я думаю, что проблема заключается в вашем HTML.
Учебник, на который вы ссылались, содержит неверное определение тега <form ..>
. Для загрузки файлов вам необходимо установить атрибут enctype
, ниже он должен выглядеть следующим образом:
<form action="" method="post" enctype="multipart/form-data">