Получаем количество последователей за вами в Твиттере в виде текста/числа

На сегодняшний день уже есть много решений, с помощью которых можно отказаться от использования привычного счетчика Twitter followers, а выводить эту цифру в собственном оформлении. В данном посте я предложу свой способ получения цифры followers из Twitter и опишу несколько его интересных сторон.

Итак, сама функция, которая в итоге возвращает число фолловеров за вашим Twitter-аккаунтом, имеет следующий вид:

function twitter_counter($id, $echo = true){
   $twifilename = 'twicache.txt';
   if ( file_exists($twifilename) ) {
      $twifile = file_get_contents($twifilename);
      $twicache = explode (', ', $twifile);
   }
   if ( $twicache[0] !== $id || $twicache[2] !== date('Y-m-d') || !$twifilename ) {
      $twit = @file_get_contents ('http://twitter.com/users/show/' . $id . '.xml');
      if ( $twit ) {
         preg_match('/<followers_count>([0-9]+)<\/followers_count>/', $twit, $find);
         $tcount = $find[1];
         if ( $twifilename ) file_put_contents($twifilename, $id . ', ' . $tcount . ', ' . date('Y-m-d'));
      }
      elseif ( file_exists($twifilename) ) {
         $twifile = file_get_contents($twifilename);
         $twicache = explode (', ', $twifile);
         $tcount = $twicache[1];
      }
   }
   else $tcount = $twicache[1];
   if ( $tcount == '' ) $tcount = '0';
   if ( $echo ) echo $tcount; else return $tcount;
}

В этот раз я не буду описывать что каждая строчка значит. Я считаю, что в данном случае это ни к чему. Я расскажу о том, какие он имеет свойства и возможности.

1. В том месте, где вы хотите увидеть число своих фолловеров, добавьте следующую строку, заменив TwitterLogin на своё имя аккаунта:

<?php twitter_counter('TwitterLogin') ?>

2. Если вы хотите, чтобы функция вам вернула число фолловеров вместо того, чтобы выводила его сразу экран, используйте следующий вызов функции:

twitter_counter('TwitterLogin', false)

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

$twifilename = 'twicache.txt';

4. Если вам не нравится, что кэш обновляется лишь раз в день, вы можете уменьшить время обновления. Например, обновлять его каждый час. Для этого стоит найти фразу date('Y-m-d'), которая встречается в функции два раза, и заменить её в нашем примере на date('H').

5. Если вас вообще не интересует кэш и вы хотите отключить его, измените значение переменной на следующее:

$twifilename = null;

Вот и всё, что умеет данная функция. Кстати, она не привязана к какой-либо CMS, поэтому использовать её можно на любом сайте и на любой, даже "голой", странице. У кого остались какие-либо вопросы, задавайте их в комментариях.

На сложные сайты уходит много времени. И ещё больше на проработку его интерактивности. Поэтому я делегирую создание интерактивных сайтов в Липецке в веб-студии и трачу время именно на заработок денег.

Люблю украшать свой дом всякими удобными штучками или необходимыми красивыми вещами. Например, это касается лампы и люстры, которые лучше выбирать прямо в магазине, а не заказывать в интернете.

Вам также будет интересно почитать и следующие записи

3 комментариев

  • ovsyannikoff:

    А сам почему не используешь? :)

  • Сергей Фещуков:

    @ ovsyannikoff, у меня Twitter-аккаунт создан не под данный проект, а вообще им пользуюсь для общения, это во-первых.
    Во-вторых, на данном блоге я не знаю как лучше обыграть этот счётчик, чем картинкой в сайдбаре.
    А в третьих, я эту функцию писал по просьбе, а так как всё делалось бесплатно, я решил выложить этот код и в блог.

  • AlexandrGF:

    Полезная информация, но, к сожалению, до сих пор с этим не сталкивался) Спасибо!

  • Добавить комментарий