【发布时间】:2010-04-21 14:28:45
【问题描述】:
我已经为我正在构建的门户实现了 gravatar,想知道是否有 gravatar 的默认图像 URL?并非所有访问该网站的人都已登录或拥有电子邮件地址,在这种情况下,是否有可以显示的默认图像(可通过 gravatar url 访问)
【问题讨论】:
我已经为我正在构建的门户实现了 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/
您可以通过将适当的名称/值对添加到您的网址来选择您想要的选项。例如,您可以使用如下所示的“神秘人”(d=mp):
上面的图片是使用 url http://www.gravatar.com/avatar/?d=mp 创建的。请注意,电子邮件哈希字符串已被省略,但通常您会将其包含在请求中。
以上链接中列出的选项:
- 404:如果没有与电子邮件哈希关联的图像,则不加载任何图像,而是返回 HTTP 404(未找到文件)响应
- mp:(神秘人物)一个简单的卡通风格人物轮廓(不因电子邮件哈希而异)
- identicon:基于电子邮件哈希的几何图案
- monsterid:生成的具有不同颜色、面孔等的“怪物”
- wavatar:生成具有不同特征和背景的人脸
- 复古:生成的 8 位街机风格像素化面孔非常棒
- robohash:生成的具有不同颜色、面孔等的机器人
- 空白:透明 PNG 图像(为演示目的在下面的 HTML 中添加了边框)
如您所愿,使用尺寸选项s=<pixels> 也会更改默认图像的尺寸。
上面的图片是用http://www.gravatar.com/avatar/?d=retro&s=32创建的
感谢 @Alireza Rezaee 更新图像类型。
【讨论】:
您还可以为默认/备用头像使用自定义 URL。但是,自定义 URL 必须指向公开可用的图像,否则它不会显示。您可以learn more here 和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 以返回与相关电子邮件地址相关联的图像。
如果您想为甚至没有在您的网站上输入电子邮件地址的用户显示图像,我可以看到您有两种解决方案:
default-gravatar@myapp.example.com 之类的内容,然后将其注册到 Gravatar 服务并将您选择的默认图像与此相关联。在构建图像 URL 时,您自己的应用程序代码仍需要输出适当的 gravatar URL 替换用户不存在的电子邮件地址,但它允许您使用您所要求的 gravatar URL。 【讨论】:
对于那些只想链接到给定电子邮件图像的人(这不能解决 OP 的请求,但此页面在网络搜索中很突出):从几乎任何 POSIX shell 中,您都可以为“somebody”生成 256 像素的 gravatar URL @example.com" 与:
echo "http://gravatar.com/avatar/$(echo -n somebody@example.com | md5sum | awk '{print $1}')?s=256"
您确实需要充分考虑将someone@example.com 替换为相关电子邮件。我加入了“?s=256”来展示如何指定大小。
我需要这个来向某人说明什么是 gravatar。
【讨论】: