PHP - как сохранить файл в папку на сервере?

PHP — как сохранить файл в папку на сервере?

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 — функция, которая проверяет — загружен ли файл в указанное место или нет? Если да — выводим уведомление.

Как видите — все просто 🙂
В ближайшее время разберемся с вопросом: как на сайте вывести файл, который расположен на нашем сервере?

В случае возникновения вопросов — пишите на почту, или в Телеграм.

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut