PHP — как сохранить файл в папку на сервере? Простая задача — но … так ли она проста, тем более — для новичка?
Итак, у нас будет следующая техническая задача:
1. Создание формы, с помощью которой мы будем получать название файла, который мы хотим отправить в папку на сервере
2. Обработка данных в этой форме
3. Отправка файла на сервер
Поехали!
Для решения задачи по созданию формы — создаем ее (кто не знает как — можете прочитать тут). .Форма будет состоять из поля «Файл» и кнопки, которая передает данные:
Из интересного — в поле с типом данных «Файл» мы специально сужаем возможность загрузки посторонних файлов на сервер — разрешаем грузить только картинки. Делается это с помощью
accept=»image/*
Как видно из кода формы — за обработку данных у нас будет отвечать файл add_to_base.php. Выглядит он следующим образом:
?php $path = "pic/".$_FILES['photo']['name']; if(move_uploaded_file($_FILES['photo']['tmp_name'],$path)) { echo $_FILES['photo']['name'].' успешно загружен'; } ?
рассмотрим код более подробно:
$path = "pic/".$_FILES['photo']['name']
- переменная $path, которая формируется из каталога, куда мы будем сохранять картинку на сервере, и файла — который мы получаем из формы на предыдущей странице (передается этот файл сюда по имени name=»photo»).
if(move_uploaded_file($_FILES['photo']['tmp_name'],$path)) { echo $_FILES['photo']['name'].' успешно загружен';
move_uploaded_file — функция, которая проверяет — загружен ли файл в указанное место или нет? Если да — выводим уведомление.
Как видите — все просто 🙂
В ближайшее время разберемся с вопросом: как на сайте вывести файл, который расположен на нашем сервере?
В случае возникновения вопросов — пишите на почту, или в Телеграм.