Загрузка файлов на Яндекс диск, используя 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 ();

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

© Habrahabr.ru