Используем API gravatar в своих скриптах

govnoproger.ru > php > Используем API gravatar в своих скриптах

Gravatar, для тех кто в танке это сервис аватаров с профайлом.
Это очень удобная штука. К примеру пользователь привязывает к своему почтовому ящику картинку, эта картинка будет отображаться в комментарии как его аватар, в том случае если он впишет свой email.

Начнём с того что нужно создать хэш мыла.

На сайте рекомендуют использовать такую конструкцию:

$mhash=md5(strtolower(trim("MyEmailAddress@example.com")));

Вот собственно, будете смеяться, но этого вполне достаточно для взятия аватара.
Итак имея хэш на руках можно взять аватар:

http://www.gravatar.com/avatar/HASH

Давайте для примера я возьму свой хэш админ собака говнопрогер и выведу картинку.

Код примера:

$mhash=md5(strtolower(trim("admin@govnoproger.ru")));
echo '<img src="http://www.gravatar.com/avatar/'.$mhash.'"/>';

Но это далеко не всё, есть и другие полезности.
Например в конце можно указать расширение изображения, но картинка как была jpg, так и останется.
Видимо пока что не работает. Возможно уже работает, всё зависит от того, какая сейчас дата.

Двигаясь дальше:

Есть некоторые переменные. Их можно подставлять в get запрос.
http://www.gravatar.com/avatar/hash?переменная1=значение1&переменная2=значение2

Можно запросить размер фотографии подставив переменную s=размер, где размер 1px до 512px.

echo '<img src=&quot;http://www.gravatar.com/avatar/'.$mhash.'?s=200"/>';

Давайте сделаем:
512

200

50

10

По умолчанию её размер составляет 80 на 80 пикселей.

В том случае, если изображения не существует, вы увидите такую картинку:

Есть переменная d=параметр Эта переменная указывает на то, что будет если такого хэша нету.
Где параметр может быть:
404 — в этом случае сервер будет возвращать 404 ошибку вместо дефолтной картинки.
Пример писать не буду, так как мне 404 ошибка здесь не нужна.

mm — Загадочный человек, это тоже вместо картинки по умолчанию. Рассмотрим пример:


identicon — геометрический узор, в зависимости от хэша. Пример:

monsterid — тут понятно, генерируется изображение монстра:

wavatar — генерирует лицо.

retro — генерирует восьмибитное изображение.

Также есть переменная f, имеет всего значение y. Она указывает на быстрый дефолт.
Например:

Как видите вместо моего аватара стандартное изображение.

Рейтинг.
Когда пользователь делает себе аватар, он указывает рейтинг (типа порнуха или нет).
Тут и для этого есть переменная r=значение.
Значения могут быть:

  • g: Для всех сайтов и аудиторий.
  • pg: может содержать провокационное изображение или слова.
  • r: не нормативная лексика, обнажёнка, насилие.
  • x: жесткое порно и насилие.

Эта переменная используется для фильтрации, но в ней нет смысла тк все ставят рейтинг g.

Аватар можно получить и через https ссылку.

Профили

Взятие профиля делается через ссылку http://www.gravatar.com/хэш.php .

Пример:

$str = file_get_contents( 'http://www.gravatar.com/205e460b479e2e5b48aec07710c08d50.php' );
$profile = unserialize( $str );
if ( is_array( $profile ) && isset( $profile['entry'] ) )
	echo $profile['entry'][0]['displayName'];

Рекомендую:

15.6.2011 | последняя редакция: 17.06.2011 |