Графический счётчик на PHP


Графический счётчик на PHP

Данный пример демонстрирует работу простого графического счетчика. По
функциональности он совершенно идентичен текстовому счетчику.

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

Это изображение надо сохранить под именем
counter.png

В скрипте использована библиотека GD, перед тем как
пользоваться этой библиотекой, узнайте у хостера, подключена ли эта библиотека.
Теперь сам скрипт: Для работы этого скрипта необходимо создать два файла, для
ведения счета и для списка IP. В файле счета необходимо установить начальное
значение счетчика, сделать это можно в любом текстовом редакторе.

Для
вывода счетчика в html используйте HEIGHT=»31″ BORDER=0>

Отзывы:
отзывов пока нет, ваш будет первым!

Вы читали «Графический счётчик на PHP»

Счетчик посещений сайта

29.04.2011, 13:41

Счетчик посещений для локального сайта
Добрый день. Есть сайт в локальной сети, и у всех пользователей, которые на него заходят, один IP.

Как сделать счетчик посещений для сайта?
У меня есть сайт, без регистрации, простой. Помогите сделать счетчик для посещения сайта.

Счетчик посещений
Нугуглил только один способ создания счетчика — через хранение ip адресов в бд. А если на сайт.

Нужен счетчик посещений страницы но не обычный
Вообщем ребят на моем сайте есть товары и я хочу реализовать сколько раз просматривали товар, но не.


Пепределать код счетчика посещений на счетчик посетителей
Был у меня на сайте «счетчик посетителей». Но как оказалось позднее это не счетчик кол-ва.

29.04.2011, 13:47 2 29.04.2011, 13:52 [ТС] 3 04.05.2011, 18:25 [ТС] 4

Апну темку, все еще актуально!
PS. Прошу прощения если Дабл-пост.

Добавлено через 22 часа 26 минут
Просьба к модераторам перенести тему в Раздел «РНР». Думаю там скорее дадут ответ.

04.05.2011, 18:25
05.05.2011, 11:20 5
05.05.2011, 15:34 6
05.05.2011, 22:08 7
08.05.2011, 09:07 [ТС] 8

blackbanny, спасибо большое! позже выложу алгоритм того как мне хотелось бы, чтоб работал счетчик, интересно ваше мнение по этому поводу.

Добавлено через 20 часов 24 минуты
Собственно идея следующая, помимо основных действий счетчика, написанного blackbanny, нужно чтобы он (счетчик) так же разграничивал количество посещений с одного IP от остальных. К примеру количество просмотров и посещений приходящихся на IP 192.168.100.25 (адресс постоянный) выводились отдельной строкой от всех остальных посещений с любыми IP. Возможно ли так сделать?


Пишем простейший текстовой счётчик

Итак, писать мы будет простейший текстовой счётчик.
Для начала решим для себя, как именно он будет работать.
Всего наш скрипт будет состоять из четырёх файлов :
-Файл для хранения ip пользователей (ip.txt)
-Файл для хранения данных счётчика (counter.txt)
-Сам файл скрипта (counter.php)
-Шаблон вывода счётчика (template.html)

Алгоритм работы очень прост:
-Когда скрипт запускается, он получает ip запустившего его браузера.
-По ip проверяем, были ли уже запросы от этого браузера или нет.
-Если не были — добавляем ip в базу и прибавляем по единичке ко всем счётчикам.
-Если уже были — прибавляем по одному поинту к хитам.
-Выводим данные счётчика.

Отображать наш счётчик будет:
-Просмотров всего
-Просмотров сегодня
-Уникальных посетителей сегодня

Как видите, в теории всё очень просто. На практике не намного сложнее. Создаём все четыре файла.
Текстовые файлы не трогаем — в них будет хозяйничать наш скрипт.
Шаблон вывода оставим на потом. Открываем counter.php и приступаем.

# Начало файла counter.php
counter.php

Шаблон вывода данных счётчика делается очень просто. Файл template.html выглядит так:

Вот и всё, мы написали простой счётчик.
Можно сделать небольшое усовершенствование скрипта.
К примеру, если вы не хотите, что бы кто-нибудь мог посмотреть ip адреса людей,
посетивших сегодня вашу страницу.
Для этого надо поместить текстовые файлы в отдельныю папку,
в этой же папке создать файл .htaccess и написать в нём всего одну строчку:
deny from all

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

На этом разрешите откланяться. Желаю удачи и успехов в постижении нелёгкого дела программиста.

Свой счетчик посещений для сайта на PHP в виде картинки

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

Конечно, самостоятельно сделать такой счетчик крайне сложно — над этим работают команды программистов.


Но сделать простой счетчик без обратной ссылки с основным функционалом вполне поплечу обычному программисту.

Предлагаю код счетчика, который будет считать число посетителей и просмотров за сутки, последний месяц и за все время. А вывод счетчика сделаем в виде автоматически генерирующейся картинки, в духе стандартных счетчиков!

Установка счетчика

1. Код PHP счетчика достаточно большой и состоит из двух файлов countss.php и picshet.php, которые надо перекинуть в любую директорию сайта (например его шаблон).

2. В самое начало страницы вставить код (замените путь на свой):

include $filespyt.’countss.php’; ?>

3. Для вывода мини-счетчика где угодно вставить код:
‘;
?>

Чтобы увидеть статистику во всплывающем окне, добавьте к любой вашей ссылке запрос ?count=true . Например, сайт.ру/page5/ ?count=true . Появится окно, где вы увидите статистику за сегодня, месяц и все время.

Основные настройки счетчика

Счётчик посещений

Введение

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

Среди большого количества бесплатных счётчиков, которые предоставляют сервис статистики, я выбрал HotLog. Этот выбор был обусловлен тем, что HotLog, в общем, неплохой сервис и предоставляет то самое, чего не хватает WebAlizer. Их графический счётчик показывает общее число посещений и прибавку посетителей за текущий день.

Однако, после некоторого времени использования счётчика, наблюдалась следующая ситуация — сервер статистики, который выдаёт картинку, был недоступен огромное количество времени. Это и понятно — бесплатный сервис работает по остаточному принципу. Но разница, которая была между хотлоговским счётчиком и WebAlizer, меня не устраивала. Так родилась идея написать очень простой и быстрый счётчик, который бы учитывал общее число посетителей, прибавку за день и количество посещённых страниц.

Постановка задачи


Разработать графический счётчик посещений, который бы учитывал общее количество посещений, прибавку посещений за день и количество просмотренных страниц.

От постановки задачи уже можно перейти к условностям :-). Решение программных задач очень схоже с решением уравнений. Итак, пускай посетитель у нас будет хостом, просмотр страницы хитом. Пускай хостом будет считаться браузер, который не передал секретную куку (cookie — печенье), или в переданной куке содержится вчерашняя дата. Вообще, в куке будет храниться дата, когда она (кука) была установлена счётчиком. Это нужно, чтобы разделять посетителей по дням, то есть, если пользователь зашёл вчера и посетил 10 страниц, то должны насчитаться 1 хост и 10 хитов. Если этот же пользователь зашёл уже сегодня и посетил 5 страниц, то это 1 хост и 5 хитов. То есть, статистика пользователей должна быть посуточной. Хитом в этом случае будет считаться любое посещение пользователя.

Для хранения статистики я выбрал обычный текстовый файл, где будет храниться всего одна строка. Это будет самый быстрый вариант хранения данных. Конечно, много информации так не сохранишь, но мне это и не требуется.

Решение задачи

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

Второй момент — графический фон счётчика. Всё-таки намного эстетичней, когда счётчик сам по себе не портит дизайн сайта и вписывается в него органично. Поэтому нужно предусмотреть два варианта, когда есть подложка и когда файл-подложка недоступен. Если файла с фоном нет, то его (фон) нужно нарисовать.

И третье, что нужно учесть — блокировка файла на время обработки. Блокировать нужно на тот случай, если будет несколько обращений к файлу статистики одновременно. Если же файл не блокировать, то вполне вероятно, что будет ситуация, когда либо сам файл повредится, либо некоторые данные будут теряться.

Помня обо всём этом, можно приступать к написанию скрипта.

Этот скрипт я назвал index.php и поместил в папку counter .

Для большего удобства и эстетики я написал ещё небольшой mod_rewrite движок, который позволит обращаться к счётчику как картинке.

Теперь можно обращаться к счётчику по ссылке counter/cnt.gif .

Последним штрихом, я написал файл, который отображает краткую статистику счётчика в виде html-страницы.

Пример работы


После размещения файлов на сервере, я вставил такой код в шаблон:

В результате получил счётчик, почти как у HotLog :-), а может и лучше, ведь он доступен всегда, когда доступен сайт!

Что можно добавить

Я привёл пример очень простой реализации графического счётчика. Без особых усилий к нему можно добавить более детальную статистку, которая бы могла рассчитывать не только суточные показатели, но и по месяцам. Это довольно легко реализуется на текстовых файлах, однако, если же вы захотите хранить полные списки ip адресов, информацию о браузерах, разрешение экрана и т.п., то одними текстовыми файлами тут не обойтись.

© 2020 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.

Создаем счетчик-картинку

Всем привет! Сегодня я расскажу Вам, как создавать динамически такую картинку, как выше с использованием PHP. Все наверное задумывались, как такое реализовать. Мне кажется, если очень хорошо подумать, то нам на ум придет новая технология, которая сейчас внедряется, особенно с приходом HTML5. Это, как наверное многие уже догадались — SVG. Для тех, кто не знает, по сути, это — всего-лишь обыкновенная картинка, но записанная в виде подобия XML. Картинку можно получить двумя способами: нарисовать самому например в Inkscape или скачать уже готовую. Я воспользуюсь вторым методом, так как ни времени, ни художественного таланта у меня нет. Я буду делать на примере личных сообщений/почты, поэтому мне понадобяться две картинки, первая — сообщений нет, вторая — мы имеем некоторое количество новых сообщений. Скачаем картинки вот тут. old.svg — сообщений нет, new.svg сообщение есть.

Итак, перейдем к реализации. Нам понадобиться:

  • Некоторые знания PHP и HTML
  • Понимание, что такое шаблонизатор
  • Понимание, что такое SVG

Качаем вот отсюда шаблонизатор.
Как работает шаблонизатор? Работает он довольно легко. Указываем классу шаблон, инициализируем переменные, парсим, получаем готовый к выводу код.
Если в коде, то работает примерно так:

Таким же образом мы и будем работать с нашими картинками. Для начала откроем каринку new.svg например в блокноте. Найдем в самом конце файла строки:

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

Счетчик посещений (просмотров) на php

10.01.13 11.01.13 10 12875

Easycounter является простым счетчиком, показывающим количество загрузок (посещений) страницы. Для исключения подсчета ваших собственных посещений добавьте ?c=0 к url при вызове страницы со счетчиком.


Чтобы добавить счетчик:

1. Вставьте код счетчика в то место на странице php , где вы хотите видеть показания счетчика.

Поместите файл счетчика (entercounter.txt) в ту же директорию где находится ваш php файл (со встроенным кодом и установите атрибут файла в 777.

  • Сейчас 6.46/10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

  • 9
  • 10

Рейтинг: 6.5/10 (13)

Комментарии:

Я слаб в php и нуждаюсь в помощи! Я хочу присвоить выводу счетчика стили css. Я удалил последнюю строку в коде выше и вместо неё пишу так: echo » Всего посещений сайта: $content
«; В результате у меня выводится надпись и на новой строке опять результат счетчика! Но ведь это последняя строка в коде и ниже
уже нет ни функции echo ни print вообще ничего! Вот так это выглядит: Всего посещений сайта: 28 28 Как мне убрать вывод числа во второй раз?

coder hol es #

Здравствуйте! К сожалению, не дорабатываю скрипты по заказу) – Попробуйте разные варианты и продуймайте логику – инфо в инете много, у вас получится.

Валерий #

Спасибо! Работает! Одно только не получается – «добавьте ?c=0 к url при вызове страницы со счетчиком» – всё равно считает

coder hol es #

)Пожалуйста. Попробуйте добавить в начало скрипта:
$c = $_GET[‘c’];

Валерий #

Да, получилось, чтобы счетчик не считал, когда на странице в начале кода поставил $c = $_GET[‘c’]; а в url добавил ?c=1 Но почему-то не нашел в инете инфы про ?c=0, ?c=1 и т.п. Мой уровень – сделаю по примеру)

Графический счётчик на PHP

Данный пример демонстрирует работу простого графического счетчика. По функциональности он совершенно идентичен текстовому счетчику.

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

Это изображение надо сохранить под именем counter.png

В скрипте использована библиотека GD, перед тем как пользоваться этой библиотекой, узнайте у хостера, подключена ли эта библиотека. Теперь сам скрипт: Для работы этого скрипта необходимо создать два файла, для ведения счета и для списка IP. В файле счета необходимо установить начальное значение счетчика, сделать это можно в любом текстовом редакторе.

Графический счётчик на PHP

Создавая текстовый счетчик, мы ограничены свойствами текста в браузере. Если же Вы хотите чегото из ряда вон выходящего, удовлетворяющего Вашему полету фантазии, то Вам подойдет как раз описываемая тема.

Данный пример демонстрирует работу простого графического счетчика. По функциональности он совершенно идентичен текстовому счетчику.

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

Это изображение надо сохранить под именем counter.png

В скрипте использована библиотека GD, перед тем как пользоваться этой библиотекой, узнайте у хостера, подключена ли эта библиотека. Теперь сам скрипт:

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

Илон Маск рекомендует:  Cgi программирование вывода в клиентскую среду
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL