Скачайте эскизы изображения с помощью Dropbox API для php

0

Я сделал сценарий, где я загружаю изображения из папки Dropbox на свой компьютер с помощью PHP. Теперь я пытаюсь загрузить эскиз изображений вместо всего изображения. Для этого я использую метод GetThumbNail из API Dropbox. Вот часть кода:

    // download the files
    $f = fopen($img_name, "w+b");   
    $fileMetadata = $dbxClient->getThumbnail($path, 'jpeg','xl');
    fclose($f);

Когда я запускаю это, я получаю изображения размером 0 и у них нет контента. Любые идеи, что мне не хватает? Спасибо д.

РЕДАКТИРОВАНИЕ

    $f = fopen($img_name, 'w+b');
    $thumbnailData = $dbxClient->getThumbnail($path, 'jpeg', 'xl');
    fwrite($f, $thumbnailData);
    fclose($f);
Теги:
dropbox-api

1 ответ

2
Лучший ответ

Вы открываете и закрываете $f ничего не вписывая в это.

getThumbnail возвращает массив с двумя элементами: метаданные для файла и данные миниатюр.

Поэтому я думаю, вам нужно что-то вроде этого:

$f = fopen($img_name, 'w+b');
list($fileMetadata, $thumbnailData) = $dbxClient->getThumbnail($path, 'jpeg', 'xl');
fwrite($f, $thumbnailData);
fclose($f);
  • 0
    Спасибо за ответ. Кавычки в $ img_name в первой строке - это ошибка, верно? А также во второй строке $ fileMetadata не должно существовать. Я не понимаю, почему это все еще не работает. Он просто создает изображения с 0 КБ. Я отредактировал свой ответ с помощью кода, который я сейчас использую после вашего ответа.
  • 0
    Да, извините, исправлено. Почему вы говорите "$ fileMetadata не должно существовать"? С вашим текущим кодом, я ожидаю, что вы, возможно, получите файл с какой-то сериализованной версией метаданных.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню