Como envio esses dados para o Facebook? Upload de fotos do Facebook api

Ok, então, o Facebook quer que eu envie uma imagem armazenada localmente no servidor, mas eu tenho as imagens armazenadas em um BLOB no database …

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) { } 

mas não está carregando … Eu recebi esse código do Facebook api doc, então eu não sei o que está acontecendo?

alguma ideia?

Para carregar fotos para funcionar, você deve corrigir estas:

  1. Os arquivos de imagem devem ser armazenados no sistema de arquivos (ou seja, salvar o BLOB de volta ao disco)
  2. Use @ antes do caminho da imagem na matriz $post_data .

Para este propósito eu faria algo como:

 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) { }