0

我在 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="" />

但是,当我尝试将 create-img.php 作为上述 API 调用中的源时,出现错误。

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 的结果图像作为源?

先感谢您。

4

1 回答 1

0

但是,当我尝试将 create-img.php 作为上述 API 调用中的源时,出现错误。

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

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

于 2012-07-09T11:14:47.397 回答