Задать вопрос
Surzhikov
@Surzhikov
Разработчик

WebDAV Ya.Disk и Flysystem: почему директории создаются а файлы не копируются?

Использую Flysystem в Laravel.
Задача - скопировать файл с локального хранилища на Я.Диск, через WebDAV.
Проблема: при попытке переноса файла - на яндекс диске создаются нужные директории, но сами файлы не копируются..

use Sabre\DAV\Client as WebDAVClient;
use League\Flysystem\Filesystem;
use League\Flysystem\Adapter\Local as LocalAdapter;
use League\Flysystem\WebDAV\WebDAVAdapter as WebDAVAdapter;
use League\Flysystem\MountManager;

....

$manager = new MountManager();
$local = new Filesystem(new LocalAdapter(storage_path()));
$manager->mountFilesystem('local', $local);

$webdav_adapter = new WebDAVAdapter(
	new WebDAVClient([
		'baseUri'    => 'https://webdav.yandex.ru',
		'userName'   => env('YANDEX_DISK_LOGIN'),
		'password'   => env('YANDEX_DISK_PASSWORD'),
	])
, '/');
$webdav = new Filesystem($webdav_adapter);
$manager->mountFilesystem('webdav', $webdav);

....

$local_path = 'local://' . 'app/public/dicoms/1.dcm';
$cloud_path = 'webdav://' . 'archive/12345/dicoms/1.dcm';
$res = $manager->copy( $local_path, $cloud_path );

По результатам выполнения, на Яндекс.Диске создается пустая папка "archive/12345/dicoms/"
  • Вопрос задан
  • 1245 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
@AaAAxzz
Есть нормальный адаптер для Flysystem (вот только он работает через rest-api ... но зато для flysystem)
https://github.com/jack-theripper/yandex-disk-flysystem
Ответ написан
Комментировать
Ogoun
@Ogoun
Programmer
Лучше не использовать ЯДиск, официальная документация не соответствует реальному API, разрабы меняют API без обратной совместимости и предупреждения. Общение с техподдержкой ни к чему не приводит.

Тут можно посмотреть пример попытки общения с поддержкой по похожему вопросу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы