PHP

Счетчик просмотров

Без счетчика - никуда. Как еще узнать, сколько десятков тысяч посетителей посмотрели наш сайт за последний час? Как счетчик работает? Пришел к нам посетитель, мы в блокнот галочку ставим - есть визит. Со следующим - так же поступим. В конце дня (недели, месяца, года) черту подвели, галочки сосчитали - и знаем, как наш сайт посещают. Много посетителей - собой гордимся: во че забацали, мало - репу чешем: как их завлечь-то? Ну, да это все лирика. К делу. Алгоритм (алгоритм - это последовательность действий) работы счетчика: при каждом посещении страницы прибавить к числу посещений (это число хранится в специальном файле) единицу. И по нашему требованию вывести число посещений. Откроем блокнот, запишем теги <?php и ?> между ними впишем семь строк. Первая

$fn=fopen('counter.dat','a+');

открывает файл counter.dat для чтения и записи, указатель перемещается в конец файла - эти свойства устанавливаются символом 'a+'. $fn - идентификатор файла, его система использует при операциях с этим файлом. Файл открыт. А если файла не существует, функция fopen его создаст. Читаем его содержимое в переменную $count - это число предыдущих посещений:

$count=fread($fn,100);

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

$count++;

и уменьшаем длину файла до нуля (проще говоря - все, что в нем было, стираем):

ftruncate($fn,0);

Записываем в файл новое значение числа посещений:

fputs($fn,$count);

и закрываем файл:

fclose($fn);

Осталось вывести число посещений:

echo $count;

Вот и все. Весь код скрипта счетчика:

<?php
$fn=fopen('counter.dat','a+');
$count=fread($fn,100);
$count++;
ftruncate($fn,0);
fputs($fn,$count);
fclose($fn);
echo $count;
?>

Вообще-то рекомендуется запирать файл счетчика после открытия и отпирать после закрытия - на тот случай, если посетители валят табунами и срабатывание скрипта от двух посещений одновременно может обнулить счетчик. Практика показывает, что при числе просмотров меньше трех тысяч в сутки такое событие маловероятно. Так что пока не будем заморачиваться, разберем это позже. Сохраняем скрипт под именем counter.php (имя может быть любым, а расширение - только .php) в папку 'www'. Путь до него: www.first/counter.php. Запускаем Денвер. Набираем путь в адресной строке обозревателя. Работает наш скрипт так, только не забываем обновлять станицу. Сколько раз обновили - на столько же увеличились показания счетчика. Это самый простой счетчик. Есть и посложнее.

Рейтинг@Mail.ru