PHP

Счетчик посетителей

Назначение такого счетчика понятно. Определить уникального посетителя можно по его IP-адресу. В PHP есть функция getenv('REMOTE_ADDR'), которая этот адрес определяет и возвращает его значение (в зависимости от того, что стоит в скобках, можно еще много чего наопределять). Код скрипта:

<?php
$ip=getenv("REMOTE_ADDR");
$f = @fopen ("ip.dat", "r");
$dat_ip = @fread ($f, filesize("ip.dat"));
if (!stristr($dat_ip,$ip)){
$f=fopen("ip.dat","a");
fputs($f,$ip."\n");}
fclose($f);
echo count($dat_ip);
?>

Первой строкой извлекаем IP-адрес посетителя и помещаем его в переменную $iр:

$ip=getenv("REMOTE_ADDR");

Открываем файл ip.dat, в котором хранятся IP-адреса посетителей, пока только для чтения (символ 'r'):

$f = @fopen ("ip.dat", "r");

и считываем имеющиеся в нем адреса в переменную $dat_ip :

$dat_ip = @fread ($f, filesize("ip.dat"));

Если IP-адрес посетителя отсутствует в списке, (именно такой смысл имеет записанное условие) то :

if (!stristr($dat_ip,$ip)){

Еще раз откроем ip.dat уже для записи:

$f=fopen("ip.dat","a");

Впишем в него новый IP-адрес, добавив к нему символ переноса стоки '/n' (скобка } в конце строки означает конец списка действий, выполняемых по условию) :

fputs($f,$ip."\n");}

и в любом случае закроем файл:

fclose($f);

Выведем результаты:

echo count($dat_ip);

Запустим скрипт обычным способом, обновим страницу несколько раз. Показания все время 1 ? Ничего удивительного. Мы же обращаемся к скрипту с одного адреса. Этот скрипт пишет всех посетителей с момента открытия сайта. Не очень-то и удобно. Хотелось бы знать ежедневную статистику. Это очень лекго сделать, скомбинировав детали этого скрипта и счетчика просмотров со статистикой. Код скрипта в особых пояснениях не нуждается, если разобрались с работой предыдущих примеров:

<?php
$ip=getenv('REMOTE_ADDR');
$f = @fopen (date('d-m').".ip", "r");
$dat_ip = @fread ($f, filesize(date('d-m').".ip"));
if (!stristr($dat_ip,$ip)){
$f=fopen(date('d-m').".ip","a");
fputs($f,$ip."
");
fclose($f);}
echo count($dat_ip);
?>

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

Рейтинг@Mail.ru