Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Счётчик посещения
 
 автор: Ozxar   (12.05.2005 в 19:08)   письмо автору
 
 

Какой принцип счетчика???
точнее.... как он должен работать
и как определить хосты , где по бывал сколько просидел и тд?

   
 
 автор: Ozxar   (12.05.2005 в 19:40)   письмо автору
 
   для: Ozxar   (12.05.2005 в 19:08)
 

И на чем лучше писать на perl или на php?

   
 
 автор: Кузнецов М.В.   (12.05.2005 в 20:07)   письмо автору
 
   для: Ozxar   (12.05.2005 в 19:40)
 

Особого различия нет - на том, что лучше знаете.

   
 
 автор: Кузнецов М.В.   (12.05.2005 в 20:23)   письмо автору
 
   для: Ozxar   (12.05.2005 в 19:08)
 

Начинается все с определения доступных нам данных о посетителе:
IP-адреса,
страницы, с которой пришел посетитель (т.н. реферер).
значения переменной HTTP_USER_AGENT.
IP-адрес извлекается переменной REMOTE_ADDR суперглобального массива $_SERVER:

<?php
$ip 
$_SERVER['REMOTE_ADDR'];
?>

Если доступна подсеть, то адреса машин в ней можно извлесб из переменной HTTP-X-FORVARDED-FOR:

<?php
  
// если адреса машин в подсети доступны, добавляем их через слеш к
  // определенному ранее IP-адресу:
  
$forward getenv(HTTP_X_FORWARDED_FOR);
  if (!empty(
$forward) && ($forward != $_SERVER['REMOTE_ADDR'])) 
                                               
$ip $ip."/".$forward;
?>

Реферер извлекается из переменной HTTP_REFERER того же массива:

<?php
$reff 
urldecode($_SERVER["HTTP_REFERER"]);
?>

Затем определяем информацию, содержащууюся в переменной HTTP_USER_AGENT:

<?php
$useragent 
$_SERVER['HTTP_USER_AGENT'];
?>

Из переменной useragent можно извлесь следующую информацию:
тип браузера посетителя
тип ОС посетителя
принадлежность к роботам поисковых систем.
Затем вся собранная информация заносится в базу данных.
Ну а далее с этой информацией происходит работа в зависимости от того, какие именно требования предъявляются к счетчику.

   
 
 автор: cheops   (12.05.2005 в 21:09)   письмо автору
 
   для: Ozxar   (12.05.2005 в 19:08)
 

Добавлю лишь, что при написании счётчика посещения вы можете отталкиваться от исходных кодов системы PowerCounter http://www.softtime.ru/info/powercounter20.php или даже LiteCounter http://www.softtime.ru/info/litecounter10.php, который содержит минимум кода.

   
 
 автор: Ozxar   (13.05.2005 в 00:38)   письмо автору
 
   для: cheops   (12.05.2005 в 21:09)
 

маленький вопрос.....
Как сделать чтоб скрипт регенерировался за минимальное время и не нагружал сервак?

   
 
 автор: Кузнецов М.В.   (13.05.2005 в 02:02)   письмо автору
 
   для: Ozxar   (13.05.2005 в 00:38)
 

Уточните вопрос. Что значит "скрипт регенерировался"? Что имеется ввиду?

   
 
 автор: Ozxar   (13.05.2005 в 21:00)   письмо автору
 
   для: Кузнецов М.В.   (13.05.2005 в 02:02)
 

Ну время выполнения скрипта была МИНИМАЛЬНЫМ

   
 
 автор: Кузнецов М.В.   (13.05.2005 в 23:01)   письмо автору
 
   для: Ozxar   (13.05.2005 в 21:00)
 

Дело в том, что вопрос времени выполнения скрипта это всегда и вопрос о том, какие требования Вы предъявляете к функциональности. Одно дело, если у Вас будет простейший счетчик, который будет просто подсчитывать хиты/хосты, не вдаваясь в подробности, и другое - если Вам требуется серьезная система статистики. В последнем случае время выполнения может зависеть от многих факторов.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования