无法从facebook iframe下载图片

时间:2011-12-23 06:45:43

标签: php facebook facebook-graph-api

我开发了一个简单的facebook应用程序,其中我将facebook用户的名字与图像合并。此代码的输出是正确的,但是当我尝试下载此文件时,会下载一些无效图像(打开时显示无效图像)。

这是我的image.php文件的代码

<?php 
header("Content-Type: image/png"); 
include_once 'facebook.php';
include_once 'config.php';
include_once 'token.php';
$facebook = new Facebook(array(
'appId'  => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
));

$me = $facebook->api('/me');
$im = ImageCreateFrompng("image.png"); 
$black = ImageColorAllocate($im, 0, 0, 0); 
$start_x = 35; 
$start_y = 230; 
Imagettftext($im, 20, 0, $start_x, $start_y, $black, 'ambient.ttf', $me['name']); 
Imagejpeg($im, '', 100); 
ImageDestroy($im); 

//code to download this image
$imgDestinationPath = 'download.png';
$url = 'apps.facebook.com/myapp/image.php';
$content = file_get_contents($url);
file_put_contents($imgDestinationPath, $content);

?>

现在这里是令人困惑的部分。当我用静态文本代替$ me ['name']并将$ url更改为apps.facebook.com/myapp/image.php的'mysite.com/image.php intead时,图像会被下载。我也尝试用动态文本将$ url更改为mysite.com/image.php,但问题是相同的

1 个答案:

答案 0 :(得分:0)

我想问题是调用facebook类的 api 方法,当通过* file_get_contents *调用脚本时,可能不会调用它。

尝试将名称作为GET变量放在file_get_contents的url中,这样它就会有点作弊,因为你将拥有一个动态静态变量