使用imagepng上传Facebook API照片

时间:2012-07-09 07:11:17

标签: php facebook facebook-php-sdk photo-upload

我在Facebook上有一个测验应用程序。它会在测验结束时将照片上传到用户的照片。

$photo_upload = $facebook->api('/me/photos', 'POST', array(
                                                'source' => '@' . './images/userimg.png',
                                                'message' => $message,
                                                )
                                            );

但它是一个样本图像,每个人都一样。我想通过在图像上写下用户名来使其个性化。部分 create-img.php

try {
    $user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e) {
            error_log($e);
            $user_id = null; }

$username = iconv("UTF-8", "ISO-8859-2", $user_profile['name']);

$text = iconv("ISO-8859-2", "UTF-8", "Hello ". $username);

...

header('Content-type: image/png') ;

            ImagePNG($image) ;

            ImageDestroy($image) ;

            imagepng($image, "./images/imgs_to_post/sample_userimg.png");

            exit ;

它可以包含在HTML中,工作正常,图像显示用户名。

<img src="create-img.php" alt="" />

但是当我尝试在上面的API调用中将create-img.php作为源时,我收到错误。

Fatal error: Uncaught OAuthException: (#1) An unknown error occurred thrown in /home/mmdesign/public_html/.../php-sdk/base_facebook.php on line 1128

如何将API调用中的imagepng结果图像作为源?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

  

但是当我尝试在上面的API调用中将create-img.php作为源时,我收到错误。

当然,因为该文件包含PHP代码,而不是图像数据。 (如果您认为此时PHP代码已解析,那么您就错了。)

首先将图像写入HDD,然后向API提供该图像的路径。