Загрузка файлов из формы, $_FILES,
Чтобы была возможность загрузить файл на сервер, нужно:
1. добавить тег input с атрибутом type=file
2. для тега форм добавить атрибут enctype=multipart/form-data
3. для тега форм добавить атрибут method=post
После отправки формы все необходимые данные по загруженным файлам будут в массиве $_FILES
Далее нужно переместить файл из временной папки в нужную нам, используя move_uploaded_file() , которая ничем не отличается от функции rename()
пример
подробнее тут: https://stackoverflow.com/questions/572768/styling-an-input-type-file-button
Как вариант решения использовать input type="hidden" name="MAX_FILE_SIZE" value="30000000", где value- максимальный размер загружаемых файлов в байтах. Это поле должно стоять перед input type=file!!! Подробнее тут.
p.s. Мультизагрузку нескольких файлов, включая ajax мы проходим в продвинутом тренинге.
По заданию ниже:
вот как должна выглядеть форма изначально:
Пред. урок След. урок
1. добавить тег input с атрибутом type=file
2. для тега форм добавить атрибут enctype=multipart/form-data
3. для тега форм добавить атрибут method=post
После отправки формы все необходимые данные по загруженным файлам будут в массиве $_FILES
Далее нужно переместить файл из временной папки в нужную нам, используя move_uploaded_file() , которая ничем не отличается от функции rename()
Стилизация input[type=file]
Иногда требуется поменять вид данного элемента формы:пример
подробнее тут: https://stackoverflow.com/questions/572768/styling-an-input-type-file-button
Ошибки при загрузке больших файлов
Если пользователь попытается загрузить большой файл, а точнее больший чем указан в настройках php ( upload-max-filesize, который должен быть меньше чем post-max-size, который должен быть меньше оперативной памяти), то файл не загрузится и выведется на экрна ошибка. Рекомендуем в php.ini ставить миниум 32мб и 34мб соответственно.Как вариант решения использовать input type="hidden" name="MAX_FILE_SIZE" value="30000000", где value- максимальный размер загружаемых файлов в байтах. Это поле должно стоять перед input type=file!!! Подробнее тут.
p.s. Мультизагрузку нескольких файлов, включая ajax мы проходим в продвинутом тренинге.
По заданию ниже:
вот как должна выглядеть форма изначально:
Пред. урок След. урок