lbarmen
@lbarmen

Как убрать ошибку яндекс диск API?

function createDirectory($path) 
{
	$diskClient = new DiskClient(ACCESS_TOKEN);
	$diskClient->setServiceScheme(DiskClient::HTTPS_SCHEME);
	
	$dirContent = $diskClient->createDirectory($path);
	
	if ($dirContent) return 'Создана новая директория "' . $path;
}
echo createDirectory('тест55');


Если такой папки не существует, то всё хорошо и её создаст, но если нет, то вылезет
Fatal error: Uncaught Yandex\Disk\Exception\DiskRequestException: Service responded with error code: "405" and message: "Method Not Allowed" in /yandex/libs/nixsolutions/yandex-php-library/src/Yandex/Disk/DiskClient.php:109 Stack trace: #0 /yandex/libs/nixsolutions/yandex-php-library/src/Yandex/Disk/DiskClient.php(126): Yandex\Disk\DiskClient->sendRequest('MKCOL', '\xD1\x82\xD0\xB5\xD1\x81\xD1\x8255') #1 /yandex/yandex.functions.php(81): Yandex\Disk\DiskClient->createDirectory('\xD1\x82\xD0\xB5\xD1\x81\xD1\x8255') #2 /yandex/yandex.disk.php(45): createDirectory('\xD1\x82\xD0\xB5\xD1\x81\xD1\x8255') #3 {main} thrown in /yandex/libs/nixsolutions/yandex-php-library/src/Yandex/Disk/DiskClient.php on line 109

а мне бы хотелось, что бы писало о уже существующей такой папки. Пытался сделать проверку на уже существование такой папки, но так пока и не вышло.
  • Вопрос задан
  • 853 просмотра
Решения вопроса 1
AloneCoder
@AloneCoder
[object Object]
function createDirectory($path)
{
    $diskClient = new DiskClient(ACCESS_TOKEN);
    $diskClient->setServiceScheme(DiskClient::HTTPS_SCHEME);

    try {
        $dirContent = $diskClient->createDirectory($path);

        if ($dirContent) {
            return 'Создана новая директория "' . $path;
        }
    } catch (\Yandex\Disk\Exception\DiskRequestException $e) {
        return "Директория {$path} уже существует";
    }
}

echo createDirectory('тест55');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы