在服务器上保存图片-PHP Facebook
我正在尝试保存您从我的服务器上的在服务器上保存图片-PHP Facebook,php,mysqli,facebook-php-sdk,Php,Mysqli,Facebook Php Sdk,我正在尝试保存您从我的服务器上的$FB->get获取的图片。因此,我可以得到这张照片,并使其成为一个个人资料图片登录facebook。现在唯一的问题是,我不知道如何保存我的服务器上的图片。我想我需要使用php中的copy或rename函数之类的东西。正如你所看到的,我尝试过使用它,但我不知道我需要如何修复它 $oAuth2Client = $FB->getOAuth2Client(); if (!$accessToken->isLongLived()) $accessT
$FB->get
获取的图片。因此,我可以得到这张照片,并使其成为一个个人资料图片登录facebook。现在唯一的问题是,我不知道如何保存我的服务器上的图片。我想我需要使用php中的copy
或rename
函数之类的东西。正如你所看到的,我尝试过使用它,但我不知道我需要如何修复它
$oAuth2Client = $FB->getOAuth2Client();
if (!$accessToken->isLongLived())
$accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
$response = $FB->get("/me?fields=id, first_name, last_name, email,gender,link, birthday,picture.type(large)", $accessToken);
$userData = $response->getDecodedBody();
$fb_foto_url = $userData['picture']['data']['url'];
copy($fb_foto_url ,'assets/images/profielfotos');
$voornaam= $app->get_klant_fb($userData['first_name']);
$_SESSION['voornaam'] = $userData['first_name'];
$_SESSION['achternaam'] = $userData['last_name'];
$fb_fotoUrl = $app->saving_fb_foto($userData['picture']['data']['url']);
我是如何基于facebook登录创建用户的
//data ophalen
$klant= $app->get_klant_fb($userData['id']);
if($klant['id'] > 0) {
//sessie klant zetten
$_SESSION['klant_id'] = $klant['id'];
} else {
//klant aanmaken
unset($query);
$query['oauth_uid'] = $userData['id'];
$query['ledenpagina_id']= $_SESSION['ledenpagina_id'];
$query['voornaam'] = $userData['first_name'];
$query['achternaam'] = $userData['last_name'];
$query['emailadres'] = $userData['email'];
$query['geboortedatum'] = $userData['birthday'];
$query['gender'] = $userData['gender'];
$query['link'] = $userData['link'];
$app->insert_query('klanten', $query);
$klant= $app->get_klant_fb($userData['id']);
if($klant['id'] > 0) {
$_SESSION['klant_id'] = $klant['id'];
}
}
如果您有类似的URL 你可以做一个拯救
file_put_内容(“your/local/server/file.png”,fopen($fb_foto_url,'r'))代码>
不过,对我来说,将Facebook URL存储在数据库中并简单地使用它会更有意义
Ref:请尝试使用curl选项将图像保存到服务器
$fb_foto_url = $userData['picture']['data']['url'];
$ch = curl_init($fb_foto_url);
$fp = fopen('assets/images/profielfotos/photo.ext', 'wb'); //Please print out the url and replace the .ext with extension returned such as jpg/png
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
//现在图像将被存储
//删除复制功能
但是,如果你真的不想编辑图片或其他内容,请尝试直接从url获取它,这样它也会自动更新。出于兴趣,为什么你要保存图片本身而不是FB url?同样相关:@Pogrindis好的,我会得到一个链接,当我按下它时,它会下载图像。所以它不会在标签或类似的东西中显示url。你能给我们举个例子说明$userData['picture']['data']['url']]
的值是多少吗?我提出了一个问题@Pogrindis这是它将返回的内容好的,我会得到一个链接,当我按下它时,它将下载图像。所以它不会在标签或类似的东西中显示url。如果我看你的答案,它确实是r
那是什么?@helpmeifyoucannr
的意思是打开时只读。。您将从URL读取该文件并在本地保存。不要害怕测试代码。你能让你的代码为我工作吗?因为我并没有真正明白这一切的意义。(或者可以使用注释,以便我知道在我的情况下需要更改什么)