Просмотр файла sistem/global_end.dat

Размер файла: 6.31Kb
<?php

if(isset($_SERVER['HTTP_REFERER'])){ $referer=htmlspecialchars($_SERVER['HTTP_REFERER']); }else{ $referer=''; }
if(isset($_SERVER['HTTP_USER_AGENT'])){ $arbuz=htmlspecialchars($_SERVER['HTTP_USER_AGENT']); }else{ $arbuz=''; }
if(isset($_SERVER['REMOTE_ADDR'])){ $ip=htmlspecialchars($_SERVER['REMOTE_ADDR']); }else{ $ip=''; }

$referer = str_replace("\r","",$referer);
$referer = str_replace("\n","",$referer);
$arbuz = str_replace("\r","",$arbuz);
$arbuz = str_replace("\n","",$arbuz);
$ip = str_replace("\r","",$ip);
$ip = str_replace("\n","",$ip);


$seg_den=htmlspecialchars(date("d"));
$dat2=htmlspecialchars(date("d.m.Y H:i:s"));

$stats_site = file($koren_dir.'/data/statstik/stats_site.dat');
$stats_site=explode("<||>",$stats_site[0]);

if($seg_den==$stats_site[0])
{
   $arbuz_dat = file($koren_dir.'/data/statstik/arbuz.dat');
   
   $znach="0";
   $i='0';
   $var=count($arbuz_dat) - 1;
   while($i <= $var)
   {
      $arbuz_dat[$i]=str_replace("\r","",$arbuz_dat[$i]);
      $arbuz_dat[$i]=str_replace("\n","",$arbuz_dat[$i]);
      if($arbuz.'<>'.$ip==$arbuz_dat[$i]){ $znach="1"; }
      ++$i;
   }
   
   if($znach=='0')//если в базе совпадений нет, то дописываем новый арбуз и реферер//+ хост
   {
      //дописываем арбуз
      $file_arbuz = fopen($koren_dir.'/data/statstik/arbuz.dat', "a+");
      flock ($file_arbuz,LOCK_EX);
      fputs($file_arbuz,$arbuz.'<>'.$ip."\r\n");
      flock ($file_arbuz,LOCK_UN);
      fclose($file_arbuz);
      @chmod("$koren_dir/data/statstik/arbuz.dat", 0666);
      
      if($referer != '')//дописываем referer если он определился
      {
         if($referer != ' ')
         {
            $arbuz_arr=explode("/",$arbuz);
            $str=''.$referer.'<||>'.$arbuz_arr[0].'<||>'.$dat2.'<||>';
            $file_referer = fopen($koren_dir.'/data/statstik/referer_dat.dat', "a+");
            flock ($file_referer,LOCK_EX);
            fputs($file_referer,$str."\r\n");
            flock ($file_referer,LOCK_UN);
            fclose($file_referer);
            @chmod("$koren_dir/data/statstik/referer_dat.dat", 0666);
         }
      }
      ++$stats_site[1];//увеличил на 1 хост
   }
   ++$stats_site[2];//увеличил на 1 хит
   if($stats_site[1] >= $stats_site[5]){ $stats_site[5] = $stats_site[1]; $stats_site[6] = $dat2; }//запиисали новых рекорд хостов
   
   
   
   //записываем счётчик
   $file_stats_site = fopen($koren_dir.'/data/statstik/stats_site.dat', "w+");
   flock ($file_stats_site,LOCK_EX);
   fputs($file_stats_site,$stats_site[0].'<||>'.$stats_site[1].'<||>'.$stats_site[2].'<||>'.$stats_site[3].'<||>'.$stats_site[4].'<||>'.$stats_site[5].'<||>'.$stats_site[6].'<||>'.$stats_site[7].'<||>'.$stats_site[8].'<||>');
   flock ($file_stats_site,LOCK_UN);
   fclose($file_stats_site);
   @chmod("$koren_dir/data/statstik/stats_site.dat", 0666);
   
}else//если наступил новый день
{
   //записываем счётчик
   $file_stats_site = fopen($koren_dir.'/data/statstik/stats_site.dat', "w+");
   flock ($file_stats_site,LOCK_EX);
   fputs($file_stats_site,$seg_den.'<||>1<||>1<||>'.$stats_site[1].'<||>'.$stats_site[2].'<||>'.$stats_site[5].'<||>'.$stats_site[6].'<||>'.$stats_site[7].'<||>'.$stats_site[8].'<||>');
   flock ($file_stats_site,LOCK_UN);
   fclose($file_stats_site);
   @chmod("$koren_dir/data/statstik/stats_site.dat", 0666);
      
   //дописываем арбуз
   $file_arbuz = fopen($koren_dir.'/data/statstik/arbuz.dat', "w+");
   flock ($file_arbuz,LOCK_EX);
   fputs($file_arbuz,$arbuz.'<>'.$ip."\r\n");
   flock ($file_arbuz,LOCK_UN);
   fclose($file_arbuz);
   @chmod("$koren_dir/data/statstik/arbuz.dat", 0666);
      
   if($referer != '')//дописываем referer если он определился
   {
      if($referer != ' ')
      {
         $arbuz_arr=explode("/",$arbuz);
         $str=''.$referer.'<||>'.$arbuz_arr[0].'<||>'.$dat2.'<||>';
         $file_referer = fopen($koren_dir.'/data/statstik/referer_dat.dat', "a+");
         flock ($file_referer,LOCK_EX);
         fputs($file_referer,$str."\r\n");
         flock ($file_referer,LOCK_UN);
         fclose($file_referer);
         @chmod("$koren_dir/data/statstik/referer_dat.dat", 0666);
      }
   }
}
      
      ///////////////////Код для автоудаления старых записей рефералов
      $str = file($koren_dir.'/data/statstik/referer_dat.dat');
      $nom=count($str) - 1;
      if($nom >= "150")//если Записей больше 150, то чистим:)
      {
         $file_referer = fopen($koren_dir.'/data/statstik/referer_dat.dat', "w+");
         flock ($file_referer,LOCK_EX);
         
         $i = "50";//удаляем последние 50 постов
         $var = $nom;
         while($i <= $var)
         {
            fputs($file_referer,$str[$i]);
            ++$i;
         }
         flock ($file_referer,LOCK_UN);
         fclose($file_referer);
         @chmod("$koren_dir/data/statstik/referer_dat.dat", 0666);
      }

$stats_site = file($koren_dir.'/data/statstik/stats_site.dat');
$stats_site=explode("<||>",$stats_site[0]);

$host=$stats_site[1];
$hit=$stats_site[2];
$v_host=$stats_site[3];
$v_hit=$stats_site[4];
$max_host=$stats_site[5];
$data_max_host=$stats_site[6];
$max_aonline=$stats_site[7];
$data_max_aonline=$stats_site[8];

include($koren_dir.'/sistem/online.dat');

if($aonline >= $stats_site[7])
{
   $stats_site[7] = $aonline;
   $stats_site[8] = $dat2;
   
   //записываем счётчик
   $file_stats_site = fopen($koren_dir.'/data/statstik/stats_site.dat', "w+");
   flock ($file_stats_site,LOCK_EX);
   fputs($file_stats_site,$stats_site[0].'<||>'.$stats_site[1].'<||>'.$stats_site[2].'<||>'.$stats_site[3].'<||>'.$stats_site[4].'<||>'.$stats_site[5].'<||>'.$stats_site[6].'<||>'.$stats_site[7].'<||>'.$stats_site[8].'<||>');
   flock ($file_stats_site,LOCK_UN);
   fclose($file_stats_site);
   @chmod("$koren_dir/data/statstik/stats_site.dat", 0666);
}


$endtime=microtime();
$endtime=explode(" ",$endtime);
$endtime=$endtime[0]+$endtime[1];
$generat= $endtime - $starttime;
$generat=round($generat,4);
?>