使用Facebook PHP SDK:未捕获的CurlException:26:创建formpost dat失败

时间:2012-07-11 14:01:26

标签: php facebook api curl sdk

我看了几个有关此错误消息的stackoverflow帖子,但它们都没有为我工作。

我想将照片上传到脸谱馆:

public function uploadPhoto($path){
    $photoSettings = array(
        'access_token'=> $this->facebook->getAccessToken(),
        'name' => 'uploaded foto',
        'source' => '@' . realpath($path)
    );

    $photo = $this->facebook->api('me/photos','POST',$photoSettings);
}

当我调用此函数时,我收到以下错误消息:

未捕获的CurlException:26:创建formpost数据失败

我100%确定我要上传的图片存在(并且路径正确)。

这是我的facebook初始化:( fileUpload为true)

$this->facebook = new Facebook(array(
          'appId'  => $this->config['appId'],
          'secret' => $this->config['appSecret'],
          'fileUpload' => true,
          'cookie' => true
    ));

我真的不明白为什么我会收到错误,因为我的代码似乎是正确的。你认为我的服务器/服务器的cURL配置可能有问题吗?我对cURL不太了解。

我希望你能帮助我!我期待着你的回答: - )

问候, 安德烈亚斯

2 个答案:

答案 0 :(得分:1)

您的realpath($path)未指向实际的服务器映像位置。如果$path是图片的完整路径,请改用'source' => '@' . $path

答案 1 :(得分:1)

I kept getting “CurlException: 26: failed creating formpost data” 

Here is my working code for uploading a photo from the same directory as the PHP page communicating with   Facebook:
$facebook    =  new Facebook(array(
'appId'      =>'*****',
'secret'     =>'*******',
'fileUpload' => true,
'cookie'     => true
));
 $user  =   $facebook ->getUser();
 if($user) 
 {  
$facebook->setFileUploadSupport(true);
$args = array(
    'message' => 'TEst from App.',
    'image' => '@' . realpath('awesome.jpeg')
);
try {
    $data = $facebook->api('/me/photos', 'post', $args);
} catch(FacebookApiException $e) {
    echo "ERROR: " . $e;
}

 }