Как я могу отправить эти данные на Facebook? загрузка api facebook api - PullRequest
2 голосов
/ 14 февраля 2012

Хорошо, поэтому Facebook хочет, чтобы я отправил изображение, хранящееся локально на сервере, но у меня есть изображения, хранящиеся в BLOB в базе данных ...

try {
     $file = 'http://blaze-craft.com/matt/get.php?id=' . $lastid;
    $post_data = array(
        "message" => "Uploaded using the Funnymemes app!",
         "source" => $file
     );
    $data['photo'] = $facebook->api("/me/photos", 'post', $post_data);

  }
  catch (FacebookApiException $e) {

  }

но это не загрузка ... Я получил этот код от api doc на Facebook, так что я не уверен, что происходит?

есть идеи?

1 Ответ

3 голосов
/ 14 февраля 2012

Чтобы загрузить фото на работу, нужно исправить это:

  1. Файлы изображений должны храниться в файловой системе (т. Е. Сохранить BLOB обратно диск)
  2. Используйте @ перед путем к изображению в массиве $post_data.

Для этого я бы сделал что-то вроде:

try
{
    $url    = 'http://blaze-craft.com/matt/get.php?id=' . $lastid;
    $saveas = '/images/image.jpg';
    $res = @file_put_contents($saveas, file_get_contents($url));

    if($res === false) throw new Exception('Cannot fetch image');

    $post_data = array(
        "message" => "Uploaded using the Funnymemes app!",
        "source"  => '@' . $saveas;
     );
    $data['photo'] = $facebook->api("/me/photos", 'post', $post_data);

  }
  catch (FacebookApiException $e) {  }
  catch (Exception $e) { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...