Привет.
Какая ситуация, нужно скачать файл с я.диска.
Взял готовую библиотеку nixsolutions/yandex-php-library, работает.
Меняю токен на другой, с точно такими же настройками, авторизация не проходит. Супер тех поддержка яндекса, просто отписалась, мол "не гарантируем работа способность своих сервисов" ;)
Хорошо ....
Начинаю писать свой класс, работает, НО метод скачивания картинки не работает.
spoiler
$url = 'https://cloud-api.yandex.net/v1/disk/resources/download?path=' . urlencode($YApath);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $this->token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);*/
// echo $res;
$res = json_decode($res);
$file_name = $localPath;
var_dump($file_name);
var_dump($localPath);
var_dump($res->href);
$file = fopen($file_name, 'w');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $res->href);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $this->token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FILE, $file);
$res = curl_exec($ch);
curl_close($ch);
fclose($file);
var_dump($res);
Файл скачивает, но он пустой. Весит ноль байтов ...
Есть похожий
вопрос, но там парень решил проблему через wget, а это вариант не катит.
Все что нужно - это понять как скачать файл и все.