View file visits/template/referer.php

File size: 2.81Kb
<?php
#-----------------------------------------------------#
#          **** STATISTIC OF VISITS *****             #
#             Made by   :  SHEVA                      #
#               E-mail  :  [email protected]        #
#                 Site  :  http://sheva.org.ru        #
#                  ICQ  :  350-097-917                #
#  Вы не имеете право вносить изменения в код скрипта #
#-----------------------------------------------------#	

$er_time=date("H:i:s d M Y"); // записываем текущее время в строку, 
    //используя заданный формат 
$U=getenv("HTTP_USER_AGENT"); // получаем данные о софте, 
    //который испольует пользователь 
$H=getenv("HTTP_REFERER"); // получаем URL, с которого пришёл посетитель 
$R=getenv("REMOTE_ADDR"); // получаем IP посетителя 
$W=getenv("REQUEST_URI"); // получаем относительный адрес странички, 
    //которую запросил посетитель 

while (ereg('%([0-9A-F]{2})',$H)){ // пока в строке $H будет хоть одно 
        //сочетание знака % и двух символов из диапазонов 0-9 и A-F 
        //(шестнадцатиричные цифры) 
    $val=ereg_replace('.*%([0-9A-F]{2}).*','\1',$H); 
        // присваиваем $val результат замены выражения, 
        //содержащего процент и два символа из означенных выше интервалов, 
        //на эти самые два символа 
        // короче говоря, теперь в $val у нас очередные 2 символа, 
        //перед которыми в исходном выражении стоял процент 
    $newval=chr(hexdec($val)); // получаем сивол с номером, 
        //полученным переведением полученного в $val 
        //шестнадцатиричного числа в "нормальное" 
    $H=str_replace('%'.$val,$newval,$H); 
        //стандартная строковая функция замены - 
        //заменяет подстроку, состоящую из процента и друх символов 
        //из переменной $var на символ, который эти два 
        //шестнадцатиричных символа кодировали 
    }// конец цикла :) 

$f=fopen("local/referer.dat",'a'); // дальше - понятно, пишем всё это в файл 
flock ($f,2); 
fwrite($f,"|$er_time| $U|$H|$R|$W|\n"); 
fclose($f);
	?>