我已经在正在构建的门户网站中实现了gravatar,并想知道是否有gravatar的默认图像URL?并非所有访问该网站的人都已登录或拥有电子邮件地址,在这种情况下,是否有可以显示的默认图像(通过gravatar url可访问)。
要选择默认图片,可以使用d
参数:
http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=identicon
或者没有哈希标记:
http://www.gravatar.com/avatar/?d=identicon
或者不使用d
参数:
http://www.gravatar.com/avatar
来源: gravatar.com.
Gravatar在此处描述了默认图像的选项:http://en.gravatar.com/site/implement/images/
您可以通过向URL添加适当的名称/值对来选择所需的选项。例如,您可以使用“神秘人物”(d=mp),如下所示:
上面的图像是使用URL http://www.gravatar.com/avatar/?d=mp
创建的。请注意,电子邮件哈希字符串已被省略,但通常您将包括它作为请求的一部分。
上述链接列出的选项:
- 404: 如果未关联任何图像,则不加载任何图像,而是返回HTTP 404 (文件未找到)响应
- mp:(神秘人物)一个简单的,卡通风格的人物轮廓剪影(不因电子邮件哈希而变化)
- identicon:基于电子邮件哈希的几何图案
- monsterid:具有不同颜色、脸部等的生成“怪物”
- wavatar:生成的面孔具有不同的特征和背景
- retro:强大的生成,8位街机风格的像素化面孔
- robohash:具有不同颜色、脸部等的生成机器人
- blank:透明的PNG图像(下面添加了边框以进行演示)
正如您所希望的那样,使用大小选项 s=<像素>
也会更改默认图像的大小。
上面的图像是使用http://www.gravatar.com/avatar/?d=retro&s=32
创建的。
感谢@Alireza Rezaee更新图像类型。
function myprefix_get_gravatar_url( $email, $default='mm', $size=92 )
{
$email = md5( strtolower( trim( $email ) ) );
$default = urlencode( $default );
$size = (int)$size;
$url = 'http://www.gravatar.com/avatar/';
if ( is_ssl() )
$url = 'https://secure.gravatar.com/avatar/';
return $url.$email."?d=".$default."&s=".$size;
}
示例用法:
$img2x = myprefix_get_gravatar_url(
'spacepants@goofygoof.it',
'https://www.google.com/images/srpr/logo11w.png',
184
);
对于那些只想要某个电子邮件图像的链接的人(这并不涉及到OP的请求,但是这个页面在网络搜索中很突出):几乎从任何POSIX shell中,您都可以生成“somebody@example.com”的256像素gravatar URL:
echo "http://gravatar.com/avatar/$(echo -n somebody@example.com | md5sum | awk '{print $1}')?s=256"
你需要认真思考,将somebody@example.com替换为实际的电子邮件地址。我包含了"?s=256"来展示如何指定大小。
我需要这个来向某人说明gravatar是什么。