Войти Регистрация

Счетчик подписчиков FeedBurner на PHP


Feedburner это отличный сервис, который управляет вашими RSS лентами. Ранее я писал, о том, как создать RSS ленту на PHP. Сегодня, мы научимся красиво оформлять счетчик подписчиков вашей ленты на PHP. Не думаю, что вас устраивает стандартный счетчик подписчиков на FeedBurner. Хоть сервис и предоставляет настройки дизайна стандартного информера, будем честными, он ужасен. Для пользователей будет лучше, если счетчик, будет красиво выглядеть и вписываться в дизайн вашего сайта. Такой ход, вызывает доверие у посетителей и способствует росту подписчиков на вашу RSS ленту.

Для реализации этого удовольствия, вам необходимо иметь аккаунт на FeedBurner, также хостинг с поддержкой PHP и библиотекой GD. Но библиотека GD, как правило, входит в стандартную зборку PHP. Но все же, нужно убедиться, что библиотека GD поддерживается вашим PHP.

Проверка поддержки PHP/GD

Напишем простой скрипт для проверки поддержки сервером библиотеки GD. Для этого создайте файл, из следующим кодом:

echo "<h1>Server GD Support:</h1>";

echo "<xmp> ";

print_r( gd_info() );

echo "</xmp> ";

Когда вы его запустите, он должен вернуть что-то подобное:

Array

(

  [GD Version] => bundled (2.0.34 compatible)

  [FreeType Support] => 1

  [FreeType Linkage] => with freetype

  [T1Lib Support] => 1

  [GIF Read Support] => 1

  [GIF Create Support] => 1

  [JPG Support] => 1

  [PNG Support] => 1

  [WBMP Support] => 1

  [XPM Support] => 1

  [XBM Support] => 1

  [JIS-mapped Japanese Font Support] => 

)

Если все нормально, идем к следующему шагу. В противном случае, используйте другой хост. Если, вы тестируете на локальном сервере (н-р: Denwer), то можете установить библиотеку GD самостоятельно.

Создание фона счетчика

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

Фон щетчика

Вы можете использовать мой фон, или картинку, которая вам по душе. Убедитесь, что вы сохранили ее в .PNG формате.

PHP код счетчика

Вот примерный PHP код счетчика подписчиков Feedburner. Код прокомментирован, вы сможете понять, что и где происходит.

rss_count.php

<?php
/**
* rss_count.php,v 1.0
* @copyright (C) 2011 sitear.ru
* http://sitear.ru/
*/

// сообщаем браузеру что это картинка
Header ("Content-type: image/png");
// подключаем функцию перекодировки
include('win2utf.php');
// загружаем фон счетчика
$img_handle = imageCreateFromPNG("rss_count.png");
// устанавливаем цвета для надписей
$color = ImageColorAllocate ($img_handle, 255, 250, 235);
$color2 = ImageColorAllocate ($img_handle, 48, 52, 59);
// получаем значение числа подписчиков feedburner
$xml = simplexml_load_file("http://api.feedburner.com/awareness/1.0/GetFeedData?uri=sitear") or die ("Невозможно загрузить XML файл!");
$circulation = $xml->feed->entry['circulation'];
// формируем текст
$line1 = "$circulation читателей";
$line2 = "Подпишись сегодня!";
// рисуем надписи на фоне
// (исходник, размер шрифта, угол наклона, x, y, цвет, шрифт, текст)
imagettftext($img_handle, 25, 0, 70, 42, $color, "a_MachinaOrto.ttf", win_to_utf($line1));
imagettftext($img_handle, 25, 0, 21, 75, $color2, "Carolina.ttf", win_to_utf($line2));
// выводим
ImagePng ($img_handle);
// освобождаем память
ImageDestroy ($img_handle); 
?>

Как видите, ключевым моментом, есть получение данных их FeedBurner Awareness. Это сервис предоставляющий информацию о числе feedburner подписчиков вашей rss ленты. Не забудьте изменить значение uri, на ваше имя у FeedBurner.

Также, в коде используется функция перекодировки. Это для корректного отображения кирилических символов на фоне счетчика. Ниже предоставляю код этой функции

win2utf.php

<?php
//------------------ Функция перекодировки из WIN в UTF --------------------//
$_win1251utf8 = array( 
"\xC0"=>"\xD0\x90","\xC1"=>"\xD0\x91","\xC2"=>"\xD0\x92","\xC3"=>"\xD0\x93","\xC4"=>"\xD0\x94", 
"\xC5"=>"\xD0\x95","\xA8"=>"\xD0\x81","\xC6"=>"\xD0\x96","\xC7"=>"\xD0\x97","\xC8"=>"\xD0\x98", 
"\xC9"=>"\xD0\x99","\xCA"=>"\xD0\x9A","\xCB"=>"\xD0\x9B","\xCC"=>"\xD0\x9C","\xCD"=>"\xD0\x9D", 
"\xCE"=>"\xD0\x9E","\xCF"=>"\xD0\x9F","\xD0"=>"\xD0\xA0","\xD1"=>"\xD0\xA1","\xD2"=>"\xD0\xA2", 
"\xD3"=>"\xD0\xA3","\xD4"=>"\xD0\xA4","\xD5"=>"\xD0\xA5","\xD6"=>"\xD0\xA6","\xD7"=>"\xD0\xA7", 
"\xD8"=>"\xD0\xA8","\xD9"=>"\xD0\xA9","\xDA"=>"\xD0\xAA","\xDB"=>"\xD0\xAB","\xDC"=>"\xD0\xAC", 
"\xDD"=>"\xD0\xAD","\xDE"=>"\xD0\xAE","\xDF"=>"\xD0\xAF","\xAF"=>"\xD0\x87","\xB2"=>"\xD0\x86", 
"\xAA"=>"\xD0\x84","\xA1"=>"\xD0\x8E","\xE0"=>"\xD0\xB0","\xE1"=>"\xD0\xB1","\xE2"=>"\xD0\xB2", 
"\xE3"=>"\xD0\xB3","\xE4"=>"\xD0\xB4","\xE5"=>"\xD0\xB5","\xB8"=>"\xD1\x91","\xE6"=>"\xD0\xB6", 
"\xE7"=>"\xD0\xB7","\xE8"=>"\xD0\xB8","\xE9"=>"\xD0\xB9","\xEA"=>"\xD0\xBA","\xEB"=>"\xD0\xBB", 
"\xEC"=>"\xD0\xBC","\xED"=>"\xD0\xBD","\xEE"=>"\xD0\xBE","\xEF"=>"\xD0\xBF","\xF0"=>"\xD1\x80", 
"\xF1"=>"\xD1\x81","\xF2"=>"\xD1\x82","\xF3"=>"\xD1\x83","\xF4"=>"\xD1\x84","\xF5"=>"\xD1\x85", 
"\xF6"=>"\xD1\x86","\xF7"=>"\xD1\x87","\xF8"=>"\xD1\x88","\xF9"=>"\xD1\x89","\xFA"=>"\xD1\x8A", 
"\xFB"=>"\xD1\x8B","\xFC"=>"\xD1\x8C","\xFD"=>"\xD1\x8D","\xFE"=>"\xD1\x8E","\xFF"=>"\xD1\x8F", 
"\xB3"=>"\xD1\x96","\xBF"=>"\xD1\x97","\xBA"=>"\xD1\x94","\xA2"=>"\xD1\x9E"); 

function win_to_utf($a) { 
global $_win1251utf8; 
if (is_array($a)){
foreach ($a as $k=>$v) { 
if (is_array($v)) { 
$a[$k] = win_to_utf($v); 
} else { 
$a[$k] = strtr($v, $_win1251utf8); 
}} 
return $a; 
} else { 
return strtr($a, $_win1251utf8); 
}}
?>

Если желаете использовать другой TTF шрифт, можете создать собственный, или скачать.

Использование скрипта

Этот PHP код возвращается в виде PNG картинки, подобно как в случае с php превью картинок. Для использования скрипта, достаточно вызвать его как IMG тег в HTML коде. Смотрите пример:

<img src="rss_count.php" alt="Счетчик подписчиков FeedBurner." />

Пример работы скрипта

Вот мы и создали счетчик feedburner подписчиков с помощью PHP. Теперь давайте протестируем наше творение. У меня получился милый счетчик.

Щетчик подписчиков FeedBurner

Скачать исходники

Когда будете использовать этот пример на собственном сайте, не забудьте поделиться впечатлением в комментариях. Автору будет приятно узнать, что его работа не напрасна. Спасибо за внимание! 



Дальше: Как писать статью для сайта? + примеры


Дискуссия по теме     0 Комментариев
Добавить комментарий
Просмотров: 4427