Создаем счетчик-картинку, показывающий беки на сайт.

Рубрики: Общее, Общие советы, на PHP, на WordPress  

Вот думал я думал и придумал сделать счетчик, который показывает не посещения, а количество беков на сайт. Вообще, показывать он может хоть попугаев, просто ничего оригинальнее я не придумал. Но после прочтения поста Вы будете знать: как сграбить инфу с другого сайта (нам тут нужно же узнавать где-то количество беков) и как сгенерировать красивый счетчик. И, вероятно, я разделю этот пост на 2. (вторая часть тут)

Начнем со второй части, т.к. она интереснее. Будем делать картинку-счетчик!

Что нам нужно? Вывести счетчик с нужными нам цифрами. Для этого мы заранее сделаем заготовку-фон, где нарисуем сам счетчик. А цифры будем выводить «на лету» с помощью PHP и библиотеки GD. Именно таким образом работают все счетчики – и LiveInternet и прочие. Различие может быть разве в том, что для вывода цифр может использоваться JavaScript или другой язык.

Итак, готовим картинку. Не забудьте оставить свободное место для цифры! У меня руки из попы в плане рисования и дизайна, поэтому у меня вышло так:

В середине оставлено место для динамической подстановки цифры (количества ссылок в данном случае).

Ну а теперь нужно сделать скрипт, который обрабатывал бы это изображение и записывал бы на нужное место нужную цифру. Скрипт на удивления короткий и простой (спасибо GD!):


$x = 40;
$y = 8;
$number = 10;

$image = @ImageCreateFromJPEG("counter.jpg");
header ("Content-type: image/png");
$txt_color = imagecolorallocate ($image, 255, 255, 255);
imagestring($image, 2, $x, $y, $number, $txt_color);
imagepng ($image);
imagedestroy ($image);

Три первых переменные (я специально вынес их как переменные) это: $x – расположение текста по горизонтали (координата), $y – расположение текста по вертикали (координата), $number – это текст, который нужно вывести, а точнее – количество ссылок, поэтому оно здесь числом.

Логика скрипта тоже очень простая. Сначала мы открываем изображение (оно у меня названо counter.jpg) с помощью функции ImageCreateFromJPEG и затыкаем этой функции рот с помощью кляпа (не даем вывести возможное сообщение об ошибке или варнинге с помощью «@»). Потом отправляем браузеру заголовок с тем, что мы сейчас будем выводить png-изображение. Теперь обозначаем для этого изображения белый цвет и записываем его в $txt_color. С помощью imagestring выводим нужный нам текст в нужное нам изображение в нужные нам координаты нужным нам цветом. И с помощью imagepng и imagedestroy выводим изображение и уничтожаем его в памяти, дабы место не жрало.

Если посметить скрипт и изображение в один каталог и открыть скрипт через браузер Вы увидите изображение! 90% работы сделано.

Теперь чуть-чуть о вызове этого счетчика из кода страницы. Создаем какой-нибудь файл, например index.php и пишем туда вот это:


<img src="./counter.php">

Вот и все! Изображение выводится. Единственное, что еще хорошо было бы сделать, это проверить, а подключена ли у нас GD-библиотека :shock: Для этого в том же index.php (не в скрипте, рисующим счетчик, т.к. там Вы сообщения об ошибке не увидите – просто изображение не сформируется) пишем тоже не хитрую инструкцию, проверяющую доступна ли какая-нибудь функция библиотеки GD:


if (!function_exists('imagetypes')) die ('Не найдена GD!');

До новых встреч, ребята :)

Постовой:
туры в ГОА



Отзывов (9) на «Создаем счетчик-картинку, показывающий беки на сайт.»

    Борис Бритва пишет:

    Но после прочтения поста Вы будете знать: как сграбить инфу с другого сайта…

    Ну и хде? :shock:


    DimoninG пишет:

    Борис Бритва, блин, «И, вероятно, я разделю этот пост на 2.» Разрешите разделить? :)


    NoKia пишет:

    Что-то я не понял, а бэки то счетчик откуда берет? Или ещё не берет :smile: ? Если ещё не берет, то можно сделать мини-парсилку yahoo site explorer, находить в коде слово «inurl» и брать цифру, которая стоит рядом со словом в скобочках=)) Ну как-то так :roll:
    p.s. http://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2Fdimoning.ru&y=Explore+URL&fr=sfp


    DimoninG пишет:

    NoKia, я это и хотел сделать ;)


    Добряк пишет:

    Стоп-стоп. Ребят, подскажите: А для чего нужна эта ссылка, которую дал Nokia ? Он показывает все страницы сайта чтоли?


    NoKia пишет:

    Добряк, по этой ссылке можно определить (видишь кнопочку inlinks?)сколько страниц, найденных yahoo ссылаются на твой сайт.


    Дымов Игорь пишет:

    Спасибо за урок! Жду продолжения!


    Bich20082008 пишет:

    Теперь буду знать….Урок хорошо…


    takprosto пишет:

    Класс ! то что надо !, А как можно теперь получить код этого счетчика ? ну что бы напримерв савить на другом сайте ?


Оставьте свой комментарий

Теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не спамер и не робот.
Я спамер и робот!

dimoning.ru
SEO и программирование.
  • Рубрики:



  • Рассылка:

  • Дополнительно:

  • По месяцам:

  • Счетчики:

    Яндекс цитирования

  • dimoning.ru © 2008-2011 г.
    Все материалы авторские, но их можно копировать с указанием прямой ссылки на источник.