在我的项目中,我使用Facebook帐户登录,但个人资料页面显示来自gravatar.com的图片。我想在www.facebook.com上显示注册用户的个人资料图片。 在我的本地系统中,我有以下代码来显示来自www.gravatar.com的个人资料照片
public function gravatar($email, $s = 80, $d = 'mm', $r = 'g', $img = FALSE, $atts = array())
{
$url = 'https://secure.gravatar.com/avatar/'
. md5(strtolower(trim( $email)))
. "?s=$s&d=$d&r=$r";
if ($img)
{
$url = '<img src="' . $url . '"';
foreach ($atts as $key => $val)
{
$url .= ' ' . $key . '="' . $val . '"';
}
$url .= ' />';
}
return $url;
}
如何显示Facebook个人资料照片而不是gravatar.com个人资料照片?
答案 0 :(得分:1)
您可以链接到https://graph.facebook.com/usernameOrId/picture
。
答案 1 :(得分:0)
这样的事情:
function facebookAvatar($uid, $img = FALSE, $atts = array())
{
$url = 'https://graph.facebook.com/'.trim($uid).'/picture';
if ($img)
{
$url = '<img src="' . $url . '"';
foreach ($atts as $key => $val)
{
$url .= ' ' . $key . '="' . $val . '"';
}
$url .= ' />';
}
return $url;
}
并使用Image:
<?php echo facebookAvatar('UsernameOrUserID', TRUE, array('width'=>'80px', 'height'=>'80px')); ?>
您要更改为UserID的UsernameOrUserID:
<强> 1234321 强>
如果网址是:
http://facebook.com/profile.php?id=的 1234321 强>
或用户名:
<强> my.name 强>
如果facebook网址为http://facebook.com/ my.name
答案 2 :(得分:0)
如果您使用的是PHP SDK,则可以获取当前登录的USer的userId并显示用户Image。
你可以这样做:
require_once 'path/to/facebookSDK.php';
$facebook = new Facebook(array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
));
// Get User ID
$user = $facebook->getUser();
//this will ouptput your current logged in user facebook image
echo getFacebookPhotoAvatar ($user);
function getFacebookPhotoAvatar ($user) {
if($user) {
$photoUrl = "https://graph.facebook.com/".$user."/picture";
$facebookPhoto = '<img src="'.$photoUrl.'" alt="FacebookUserImage"/>';
} else {
$facebookPhoto = '';
}
return $facebookPhoto ;
}
希望这会有所帮助:)