{lang: ‘ru’}

загрузка файлов на сервер php, скрипт загрузки файлов на сервер, загрузка файла на сервер htmlЗагрузка фалов на сервер уже не редкость. Оно используется буквально везде: от загрузки аватарки в вашем профиле до различных хостингов хранящий файлы. Давайте разберем, как это всё работает и получим полноценный, работающий php скрипт загрузки файлов на сервер.

Загрузка файлов на сервер осуществляется с помощью multipart-формы, в которой есть поле загрузки файла. В качестве параметра  указывается значение 

Для начала, создадим папку с именем file возле нашего исполняющего файла  (папка в которую будут перемещаться файлы из временной папки temp) после, создадим форму на которой будет :

  1. Кнопка для выбора файла, который мы хотим загрузить на сервер
  2. Кнопка которая загрузит наш файл

… и так, приступим

 <form action="upload.php" method="POST" enctype="multipart/form-data">
    <input type="file" name="uploadfile" />
    <input type="submit" value="Загрузить" />
</form>

После того как мы добавили форму, приступим к самой загрузке

<?php
/*
 *  $_FILES['uploadfile']['name'] - имя файла до его отправки на сервер, например, pict.gif;
    $_FILES['uploadfile']['size'] - размер принятого файла в байтах;
    $_FILES['uploadfile']['type'] - MIME-тип принятого файла (если браузер смог его определить), например: image/gif, image/png, image/jpeg, text/html;
    $_FILES['uploadfile']['tmp_name'] (так мы назвали поле загрузки файла) - содержит имя файла во временном каталоге, например: /tmp/phpV3b3qY;
    $_FILES['uploadfile']['error'] - Код ошибки, которая может возникнуть при загрузке файла.
 */
    if(isset ($_POST['load'])) // проверка нажали ли мы кнопку Загрузить
    {
        if(is_uploaded_file($_FILES['uploadfile']['tmp_name'])) // проверка загружен ли наш $_FILES['uploadfile']
        {
            $newname=time(); // генерируем новое имя (это для того чтобы, имена файлов не совпадали)
            $i=pathinfo($_FILES['uploadfile']['name']); // возвращает информацию о path в виде ассоциативного массива или строки в зависимости от options.
            move_uploaded_file($_FILES['uploadfile']['tmp_name'],"file/$newname.{$i['extension']}"); // move_uploaded_file перемещает загруженный файл в новое место в нашем случай из временной папки temp в папку file. в $i['extension'] храняться расширения нашего файла.
        }
    }
?>

В итоге у нас должен получится вот такой скрипт загрузки файлов на сервер:

<?php
    if(isset ($_POST['load']))
    {
        if(is_uploaded_file($_FILES['uploadfile']['tmp_name']))
        {
            $newname=time();
            $i=pathinfo($_FILES['uploadfile']['name']);
            move_uploaded_file($_FILES['uploadfile']['tmp_name'],"file/$newname.{$i['extension']}");
        }
    }
?> 

<form action="upload.php" method="POST" enctype="multipart/form-data">
    <input type="file" name="uploadfile" />
    <input type="submit" name="load" value="Загрузить" />
</form>


Получайте новые статьи блога прямо себе на почту