Загрузка файлов на Яндекс диск, используя API диска

в 16:36, , рубрики: api

В этом посте хочу рассказать как загрузить файлы на Яндекс диск, используя API диска.
Покопавшись в просторах рунета, я наткнулся на класс, который позволяет без особых усилий устанавливать соединение с Yandex disk и использовать его просторы для хранения файлов. Скачать класс можно вот тут.

Итак приступим:

Передо мной задача прикрепления файлов, а именно сканированных документов к клиентам первым что нужно сделать, это загрузить файл на наш сервер (приводить листинг кода не стану, т.к. можно найти кучу уже написанных статей на эту тему).

Приступаем к описанию загрузки файлов на Яндекс диск:

//подключаем наш класс


if (!class_exists('webdav_client')) {

require('classes/YandexApi/Yandex.Disk_client.php');

}

/*

*

* в следующих строках устанавливаем url сервера, порт, версию протокола и

* передаем логин и пароль от Яндекс диска для авторизации

*/

$wdc = new webdav_client();

$wdc->set_server('ssl://webdav.yandex.ru');

$wdc->set_port(443);

$wdc->set_user(login);

$wdc->set_pass(password);

$wdc->set_protocol(1);

// enable debugging

$wdc->set_debug(false);

//если не удалось установить соединение, выводим ошибку

if (!$wdc->open()) {

print 'Ошибка: не удалось установить соединение с сервером!';

exit;

}

// Проверяем поддерживает ли webdav rfc 2518

if (!$wdc->check_webdav()) {

print 'Ошибка: сервер не поддерживает WebDAV или неверный логин/пароль ';

exit;

}

//Создаем папку

$folder = '/myfolder';

$http_status = $wdc->mkcol($folder);

//отправляем файл put методом класса

$target_path = '/images/myfile.png';

$filename = 'myfile.png';

$http_status = $wdc->put_file($target_path, $filename);

print 'статус загрузки '. $http_status. '
';

$wdc->close();

flush();

Вот так просто можно загрузить файлы на Яндекс диск.

Автор: Kaspsoft

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js