LS Logs Ведение логов (статистики посещений) сайта
О проекте |
История |
Скачать
Логи
Практически все платные и некоторые бесплатные хостинги предоставляют
возможность просмотра статистики посещения и доступа к отдельным скриптам сайта.
Но зачастую основным файлом является скрипт движка сайта, который в зависимости от
передаваемых параметров, показывает посетителям содержимое разных документов.
Поэтому скрипт сам должен вести историю посещений, основанной на передаваемых
параметрах. Отдельный же скрипт должен преобразовывать набор записей о посещениях
в удобно читаемую сводную страницу статистики. Это и есть Анализатор логов.
Последующий текст предназначен для веб-программистов, знакомых с основами языка PHP.
Принцип работы
Большинство сайтов имеют “главный скрипт” - ядро сайта, с которым и работает пользователь. Обычно это index.php, которому через какую-то переменную (или несколько переменных) в URL передается параметр, указывающий скрипту, какую информацию следует отобразить.
На этот параметр мы и будем ориентировать статистику. Например: http://mysite.net/index.php?id=link1
В этом случае пользователь обратился к ресурсу id=link1. В данном случае нас интересует статистика по параметру id, но вы можете настроить статистику на несколько параметров.
Задача скрипта статистики заключается в том, чтобы вести историю обращений к файлу. Задача скрипта анализатора логов заключается в том, чтобы отобразить рейтинг каждого ресурса.
Скрипт статистики
Для хранения статистики был выбран формат текстового файла, как наиболее простой и доступный. Каждую запись в этом файле мы отделяем уникальной строкой-разделителем, например <!--LSLogs--> (она может быть изменена в файле logsset.inc)
В запись, кроме разделителя, мы включаем также строку параметров, передаваемых через URL и время (кроме того вам могут понадобится другие параметры).
Настройки скрипта хранятся в файле logsset.inc.
Файлы логов мы храним в отдельной папке (по умолчанию - mylogs). Логи разбиты на файлы по месяцам. Например: 200409.dat - имя файла логов за сентябрь 2004 г.
Для того чтобы сохранять информацию о посетителях, мы должны при каждом вызове главного скрипта, вызывать скрипт записи логов addlogevent.php.
addlogevent.php:
<?php
include("logsset.inc"); // - включаем скрипт настроек
// открываем файл из папки логов в режиме append (добавление)
$f=fopen($LogsDirectory."/".date("Ym").".dat","a");
// Добавление записи к логам
fputs($f,$LogRecordDivider."\n"); // Записываем разделитель
fputs($f,time()."\n"); // Записываем время
fputs($f,$_SERVER["QUERY_STRING"]."\n"); // Записываем строку параметров
fputs($f,$_SERVER["HTTP_REFERER"]."\n"); // … и другие параметры
fputs($f,$_SERVER["REMOTE_ADDR"]."\n\n\n");
fclose($f); // Закрываем файл
?>
В главном скрипте index.php вставьте include:
include("addlogevent.php");
Теперь при каждом вызове index.php, будет вызван скрипт addlogevent.php, который будет сохранять логи.
Скрипт анализатора логов
Скрипт анализатора логов загружает настройки из файла logsets.inc и сканирует папку логов на наличие файлов. С помощью формы вы можете выбрать параметры скрипта и период за который необходимо сформировать статистику.
Рис - Интерфейс анализатора логов
Установка
1. Скопируйте файлы из папки source дистрибутива, на ваш сайт в каталог, в котором находится ваш “главный скрипт” (обычно это index.php) Тоесть файлы logsa.php, logsset.inc и addlogevent.php должны находится в том же каталоге, что и ваш главный скрипт.
2. Создайте там же (каталог главного скрипта), каталог mylogs (можете назвать его по-другому, но измените при этом переменную $LogsDirectory в файле logsset.inc)
3. Установите права на запись у каталога mylogs (можно просто 0777)
4. Вставьте в ваш “главный скрипт”, строку вызова скрипта сохранения логов:
include("addlogevent.php");
5. Настройте анализ логов под ваш сайт:
Для этого измените значение переменной $SortByParameters, которая содержит название параметра, передаваемого через URL, по которому будет выводится статистика. Если таких параметров несколько, запишите их все, разделив запятыми, например:
$SortByParameters = "id,go,page";
Тест
Вызовите ваш главный скрипт для того чтобы в логах появилась первая запись. А затем вызовите скрипт анализатора логов logsa.php и нажмите ”Показать”.
Пример того, как нужно установить скрипты ведения логов смотрите в папке example дистрибутива.
Если "не работает"
1. Внимательно прочитайте раздел “Установка” и убедитесь в правильности своих действий.
2. Если статистика не показывается, для начала убедитесь, что она сохраняется. Для этого зайдите в папку mylogs и убедитесь в наличии файлов (что-то вроде 200410.dat или подобных). Если их нет - значит не вызывается скрипт addlogsevent.php из вашего index.php либо у папки mylogs не выставлены права на запись.
3. Убедитесь что все файлы дистрибутива (не папка, а файлы), находятся в одном каталоге с вашим главным скриптом (index.php)
4. Если ничего не помогло - обращайтесь в службу тех. поддержки
О проекте |
История версий |
Скачать
|