在我的项目中,我使用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头像?
发布于 2012-01-28 17:49:07
您可以链接到https://graph.facebook.com/usernameOrId/picture。
发布于 2012-01-28 19:41:38
如下所示:
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;
}要获取图像,请使用以下命令:
<?php echo facebookAvatar('UsernameOrUserID', TRUE, array('width'=>'80px', 'height'=>'80px')); ?>您必须更改为UserID:
1234321
如果url为:
http://facebook.com/profile.php?id=1234321
或添加到用户名:
my.name
如果facebook的url是http://facebook.com/my.name
发布于 2012-01-28 20:24:43
如果您使用的是PHP,您可以获取当前登录USer的userId并显示用户图像。
你可以这样做:
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 ;
}希望这能有所帮助:)
https://stackoverflow.com/questions/9044254
复制相似问题