Как подключить Gravatar (PHP скрипт)

Владимир | | HTML, PHP, Web разработка.

gravatar php

Сервис Gravatar за последнее время стал очень популярным. Даже в админке WordPress’а теперь отображаются аватары комментаторов. Кстати, довольно удобно. Но речь не о WP.

В этой заметке я расскажу, как добавить Gravatar на собственную web страницу.

Для того чтобы получить картинку, вам нужно указать несколько параметров и на их основе сформировать URL. Рассмотрим их подробнее:

1) eMail пользователя, иконку которого вы хотите добавить.
2) Размер иконки (в пикселях).
3) Рейтинг иконок, которые вы разрешаете показывать. Сервис позволяет присвоить иконке рейтинг, на основе которого можно отфильтровать неприличные или содержащие ненормативную лексику аватары.
4) URL картинки, которая будет загружена если gravatar отсутствует.

Теперь напишем функцию, формирующую URL.

function getGravatarUrl($email, $defImg, $size, $rating) {
	return "http://www.gravatar.com/avatar.php?gravatar_id=".md5($email).
		"&rating=".$rating."&size=".$size."&default=".urlencode($defImg);
}

И пример использования:

<?php $defImg = 'http://www.simplecoding.org/wp-content/themes/three_cols/images/myphoto.jpg'; ?>
<img src="<?php echo getGravatarUrl('vova_33@gala.net', $defImg, '90', 'G'); ?>" alt="my gravatar" />

Примечание. Этот пример – немного переделанный вариант решения, размещенного здесь.

Если вы не хотите писать свою функцию, то можно скачать специальный класс.

Использовать его еще проще, чем функцию.

<?php
include 'gravatar.php';

$eMail = 'vova_33@gala.net';
$defImg = 'http://www.simplecoding.org/wp-content/themes/three_cols/images/myphoto.jpg';

$avatar = new Gravatar($eMail, $defImg);
$avatar->setSize(90);
$avatar->setRating('G');
$avatar->setExtra('alt="my gravatar"');
?>
<p>
<?php echo $avatar->toHTML(); ?>
</p>

Комментировать здесь, в общем-то, нечего. Сначала мы подключили файл с классом (gravatar.php). Затем создали экземпляр этого класса и в конструкторе передали email и адрес дефолтной картинки.

После этого, установили размер и рейтинг (методы setSize, setRating).

Отдельно нужно отметить функцию setExtra. Её можно использовать для установки атрибутов тега img (например, alt, class, style).

Последний шаг. Вставляем рисунок с помощью метода toHTML().

Скачать пример.

Хотите поэкспериментировать – качайте архив с примерами.

До встречи!

Интересно почитать:

Собственный виртуальный сервер — yeshost.ru.

  • http://texho.blogspot.com/ Денис Радченко

    Интересно, а можно проверить, есть ли у человека GRavatar или нет

    • http://www.simplecoding.org/ Владимир

      Проверить можно есть ли GRavatar для данного email.
      Нужно просто проверить возвращает функция ссылку на дефолтную картинку или нет.

      Кому принадлежит email узнать так просто не получится.

  • http://texho.blogspot.com Денис Радченко

    Интересно, а можно проверить, есть ли у человека GRavatar или нет

    • http://www.simplecoding.org/ Владимир

      Проверить можно есть ли GRavatar для данного email.
      Нужно просто проверить возвращает функция ссылку на дефолтную картинку или нет.

      Кому принадлежит email узнать так просто не получится.

  • http://aromats.net/ Дукин

    Спасиб за скрипт!

  • http://aromats.net Дукин

    Спасиб за скрипт!

  • http://jleft.ru/ Left

    Спасибо, можно взять себе в блог с ссылкой на вас? Полезная информация.

  • http://jleft.ru Left

    Спасибо, можно взять себе в блог с ссылкой на вас? Полезная информация.

  • http://hyperseo.ru/ Хайпер

    Спасибо. Удивительно, как я раньше не подумал подключить G-аватары к самописному движку — ведь с ними комментарии выглядят одушевлённей. Скачал архив с примерами, буду тестить

  • http://hyperseo.ru/ Хайпер

    Спасибо. Удивительно, как я раньше не подумал подключить G-аватары к самописному движку — ведь с ними комментарии выглядят одушевлённей. Скачал архив с примерами, буду тестить