Граватар: есть изображение по умолчанию? - PullRequest
27 голосов
/ 21 апреля 2010

Я реализовал Gravatar для портала, который я строю, и хотел узнать, есть ли URL-адрес изображения по умолчанию для Gravatar? Не все люди, которые посещают сайт, вошли в систему или имеют адреса электронной почты, в таком случае, есть ли изображение по умолчанию, которое может быть показано (доступно через граватар URL)

Ответы [ 5 ]

45 голосов
/ 21 апреля 2010

Чтобы выбрать изображение по умолчанию, вы можете использовать параметр d:

http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=identicon

Или без хеша:

http://www.gravatar.com/avatar/?d=identicon

Или без параметра d:

http://www.gravatar.com/avatar

Источник: gravatar.com .

16 голосов
/ 13 февраля 2015

Gravatar опишите параметры для изображений по умолчанию здесь: http://en.gravatar.com/site/implement/images/

Вы можете выбрать, какой вариант вы хотите, добавив соответствующую пару имя / значение в ваш URL. Например, я использую «таинственный человек» (d = mm), который выглядит так:

Это изображение было создано с помощью URL http://www.gravatar.com/avatar/?d=mm. Обратите внимание, что строка хеша электронной почты опущена, но обычно вы включаете ее как часть запроса.

Опции, указанные по ссылке выше:

  • 404: не загружать никакое изображение, если оно не связано с хэшем электронной почты, вместо этого вернуть ответ HTTP 404 (файл не найден)
  • мм: (загадочный человек) простой силуэт человека в мультяшном стиле (не зависит от хэша электронной почты)
  • идентификатор: геометрический рисунок на основе хэша электронной почты
  • monsterid: сгенерированный «монстр» с разными цветами, гранями и т. Д.
  • wavatar: сгенерированные лица с различными элементами и фоном
  • ретро: потрясающие сгенерированные, 8-битные пиксельные лица в аркадном стиле
  • пробел: прозрачное изображение в формате PNG (для демонстрации в HTML добавлена ​​рамка ниже)

Как и следовало ожидать, использование параметра размера s=<pixels> также изменяет размер изображения по умолчанию.

enter image description here

Это изображение было создано с http://www.gravatar.com/avatar/?d=retro&s=32

3 голосов
/ 29 августа 2015

Вы также можете использовать пользовательский URL для аватара по умолчанию / резервного.Однако пользовательский URL-адрес должен указывать на общедоступное изображение, иначе оно не будет отображаться.Вы можете узнать больше здесь и gravatar.com .

Вот функция 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
);
3 голосов
/ 21 апреля 2010

Не совсем, нет. В этом отсутствует смысл службы Граватар. Он разработан таким образом, чтобы ваши пользователи могли зарегистрировать свой адрес (а) электронной почты и связать с ним / ним изображение Gravatar. Ваш сайт (и другие сайты) может затем запросить у Gravatar изображение, которое связано с соответствующим адресом электронной почты.

Если вы хотите, чтобы изображение отображалось для пользователей, которые даже не вводят адрес электронной почты на вашем веб-сайте, у вас есть два решения, которые я вижу:

  1. Сделайте это в вашем собственном коде. Когда вы имеете дело с пользователем, у которого нет адреса электронной почты, вы можете просто вывести изображение по умолчанию по своему выбору. Конечно, это означает, что это не будет сделано с использованием граватарного адреса, и вам нужно будет обслужить себя.
  2. Зарегистрируйте адрес электронной почты, посвященный пользователям, которые не имеют / вводят свои собственные. Например, вы можете зарегистрировать что-то вроде default-gravatar@myapp.example.com, а затем зарегистрировать это в сервисе Gravatar и связать выбранное вами изображение по умолчанию с этим. Код вашего собственного приложения все равно должен будет выводить соответствующий граватар-URL-адрес, заменяя этот адрес электронной почты вместо несуществующего пользователя, при создании URL-адреса изображения, но он позволит вам использовать граватар-URL, который вы запрашивали.
0 голосов
/ 07 августа 2017

Для тех, кто просто хочет получить ссылку на изображение данного электронного письма (это не относится к запросу OP, но эта страница заметна в веб-поиске): практически из любой оболочки POSIX вы можете сгенерировать гравитационный URL-адрес размером 256 пикселей для @ example.com "с:

echo "http://gravatar.com/avatar/$(echo -n somebody@example.com | md5sum | awk '{print $1}')?s=256"

Вам нужно подумать, чтобы заменить somebody@example.com электронным письмом. Я включил «? S = 256», чтобы показать, как указать размер.

Мне нужно это, чтобы проиллюстрировать кому-то, что такое граватар.

...