我已经为我正在构建的门户实现了 gravatar,想知道是否有 gravatar 的默认图像 URL?并非所有访问该站点的人都已登录或拥有电子邮件地址,在这种情况下,是否有可以显示的默认图像(可通过 gravatar url 访问)
5 回答
要选择默认图像,您可以使用以下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:生成具有不同特征和背景的人脸
- 复古:令人敬畏的生成的 8 位街机风格像素化面孔
- robohash:生成的具有不同颜色、面孔等的机器人
- 空白:一个透明的 PNG 图像(为演示目的,在下面的 HTML 中添加了边框)
正如您所希望的,使用 size 选项s=<pixels>
也会更改默认图像的大小。
上面的图像是用http://www.gravatar.com/avatar/?d=retro&s=32
感谢@Alireza Rezaee提供更新的图像类型。
您还可以为默认/备用头像使用自定义 URL。但是,自定义 URL 必须指向公开可用的图像,否则不会显示。您可以在此处和gravatar.com了解更多信息。
这是我在处理 gravatar 图像时使用的 PHP 函数。
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
);
不是真的,不。那是缺少 Gravatar 服务的重点。它旨在让您的用户可以注册他们的电子邮件地址并将 gravatar 图像与其/他们相关联。然后,您的网站(和其他网站)可以查询 Gravatar 以返回与相关电子邮件地址关联的图像。
如果您希望为甚至没有在您的网站上输入电子邮件地址的用户显示图像,我可以看到您有两种解决方案:
- 在您自己的代码中执行此操作。当您与没有电子邮件地址的用户打交道时,您可以只输出您自己选择的默认图像。当然,这意味着它不会使用 gravatar 地址来完成,这将是您需要为自己服务的东西。
- 自己注册一个电子邮件地址,专门用于没有/输入自己的用户的用户。例如,您可以注册类似的内容
default-gravatar@myapp.example.com
,然后将其注册到 Gravatar 服务,并将您选择的默认图像与此相关联。在构建图像 URL 时,您自己的应用程序代码仍需要输出适当的 gravatar URL 替换用户不存在的电子邮件地址,但它允许您使用您所要求的 gravatar URL。
对于那些只想链接到给定电子邮件图像的人(这不能解决 OP 的请求,但此页面在网络搜索中很突出):从几乎任何 POSIX shell,您都可以为“somebody@example.xml”生成 256 像素的 gravatar URL。 com”与:
echo "http://gravatar.com/avatar/$(echo -n somebody@example.com | md5sum | awk '{print $1}')?s=256"
您确实需要考虑足够的问题来用相关电子邮件替换someone@example.com。我包括了“?s = 256”来展示如何指定大小。
我需要这个来向某人说明 gravatar 是什么。