|
Вот думал я думал и придумал сделать счетчик, который показывает не посещения, а количество беков на сайт. Вообще, показывать он может хоть попугаев, просто ничего оригинальнее я не придумал. Но после прочтения поста Вы будете знать: как сграбить инфу с другого сайта (нам тут нужно же узнавать где-то количество беков) и как сгенерировать красивый счетчик. И, вероятно, я разделю этот пост на 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!');
До новых встреч, ребята :)
Постовой:
туры в ГОА
Оставьте свой комментарий
|
09.10.2008 в 3:00 пп
Но после прочтения поста Вы будете знать: как сграбить инфу с другого сайта…
Ну и хде? :shock:
09.10.2008 в 8:00 пп
Борис Бритва, блин, «И, вероятно, я разделю этот пост на 2.» Разрешите разделить? :)
10.10.2008 в 2:26 пп
Что-то я не понял, а бэки то счетчик откуда берет? Или ещё не берет :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
10.10.2008 в 2:34 пп
NoKia, я это и хотел сделать ;)
10.10.2008 в 3:17 пп
Стоп-стоп. Ребят, подскажите: А для чего нужна эта ссылка, которую дал Nokia ? Он показывает все страницы сайта чтоли?
10.10.2008 в 4:35 пп
Добряк, по этой ссылке можно определить (видишь кнопочку inlinks?)сколько страниц, найденных yahoo ссылаются на твой сайт.
12.10.2008 в 4:54 пп
Спасибо за урок! Жду продолжения!
14.10.2008 в 7:30 пп
Теперь буду знать….Урок хорошо…
20.11.2009 в 8:18 дп
Класс ! то что надо !, А как можно теперь получить код этого счетчика ? ну что бы напримерв савить на другом сайте ?