Счетчик посетителей
Назначение такого счетчика понятно. Определить уникального посетителя можно по его 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);
?>
Ежедневные посетители записываются в файл, который обозначен текущим числом и месяцем. Так что при желании можно посмотреть, когда и кто к нам заходил. Проверив работу скрипта, вставим его на страницу.