Просмотр файла index.php

Размер файла: 5.73Kb
<?php 
    ////////////////////////////////////////////////////
   ///тут был САРСУК                      /////////////
  ///Скрипт статистики сайта             /////////////
 ////////////////////////////////////////////////////
Error_Reporting(0);
  /////////////////////////////////////////////////
 /////логи              //////////////////////////
/////////////////////////////////////////////////
$ua=$_SERVER['HTTP_USER_AGENT']; //браузер 
$ip=$_SERVER['REMOTE_ADDR']; //ip 
$referer=$_SERVER['HTTP_REFERER'];///рефер
$dat=date("d/M/Y|H:i:s");///дата, время
$logfile=($_SERVER['DOCUMENT_ROOT'].'/capcyk/log/log.dat'); //файл-хранилище, права 666 и выше(логи с HTML кодом)
$logfile2=($_SERVER['DOCUMENT_ROOT'].'/capcyk/log/log2.dat'); //файл-хранилище, права 666 и выше(только логи)
$all="<tr><td nowrap bgcolor=\"#dcdcdc\"><a href=\"http://wen.ru/whois/?ip=$ip&amp;w=htm\">$ip</a></td><td nowrap bgcolor=\"#dcdcdc\">$dat</td><td nowrap bgcolor=\"#dcdcdc\">$ua</td><td nowrap bgcolor=\"#dcdcdc\"><a href=\"$referer\">$referer</a></td></tr>
";
$f=fopen($logfile,'a+'); //создаем/открываем 
flock($f,2); //блокируем 
fwrite($f,$all); //записываем
fclose($f); //закрываем (блокировка снимется сама)
$logal="[$ip]";
$logal.="[$dat]";
$logal.="[$ua]";
$logal.="[$referer]
";
$f=fopen($logfile2,'a+'); //создаем/открываем 
flock($f,2); //блокируем 
fwrite($f,$logal); //записываем
fclose($f); //закрываем (блокировка снимется сама)




  //////////////////////////////////////////////////////////////////////////////
 //////////////////счетчик    /////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
$ua2=$_SERVER['HTTP_USER_AGENT']; //браузер 
$ip2=$_SERVER['REMOTE_ADDR']; //ip 
$uniq=serialize(array($ip2,$ua2))."\n"; //упакованные данные
$store=($_SERVER['DOCUMENT_ROOT'].'/capcyk/log/counter.dat'); //файл-хранилище, права 666 и выше
$offset=0*3600; //смещение по времени в секундах 
$date_now=date('d',time()+$offset); //сегодняшнее число 
$date_access=date('d',filemtime($store)+$offset); //время последней модификации файла
if ($date_now!=$date_access && file_exists($store)) 
{ unlink($store);//если даты не совпадают, то пора обнулить счетчик, удаляем файл (для директории надо выставить права 766)  
} 
if (!file_exists($store)) 
{ $hit=1; $host=1; //если файла данных не существует 
} 
else 
{$data=file($store); //получаем стоки из файла 
$data[]=$uniq; //добавляем к данным текущего юзера 
$hit=count($data); //сколько строк, столько и хитов 
$ip_ua=array();//считаем хосты  
$ip_ua[]=$uniq; //запихиваем текущего юзера 
foreach ($data as $v) 
{ if (!in_array($v,$ip_ua)) //если такой комбинации нет, то 
$ip_ua[]=$v; //увеличиваем уникальные записи 
} $host=count($ip_ua); //число уникальных строк 
}
$f=fopen($store,'a+'); //создаем/открываем 
flock($f,2); //блокируем 
fwrite($f,$uniq); //записываем упакованный массив 
fclose($f); //закрываем (блокировка снимется сама)
  //////////////////////////////////////////////////////////////////////////////////////////////////
 ///для того что бы скрипт выводил на страницу информацию о логах - раскомментируйте текст ниже:)//
//////////////////////////////////////////////////////////////////////////////////////////////////
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Логи</title></head>
<body bgcolor="#999999">
<table width="100%" border="0" cellspacing="2" cellpadding="0" align="center" bgcolor="#000000">
<caption><font color="#ffffff">IP адрес,Дата и время,Браузер,Рефер</font></caption>';
$filerazmer=filesize($_SERVER['DOCUMENT_ROOT'].'/capcyk/log/log2.dat');
$vsego='25';
$file=file($_SERVER['DOCUMENT_ROOT'].'/capcyk/log/log.dat');
if (!file_exists($_SERVER['DOCUMENT_ROOT'].'/capcyk/log/log.dat') or count($file)=='0')
{echo 'Пусто!<br/>';}
else {
if (empty($page))
{
$page=1;
}
$obsum=$page*$vsego;
$nasum=$obsum-$vsego;

for($i=$nasum; $i<$obsum; $i++)
{
if(isset($file[$i])) 
{
echo $file[$i]; //Вывод содержимого строки, в цикле
}
}
if (count($file)<=$i)
{
$endd=1;
}
$page_count=ceil(count($file)/$vsego);
if ($page==1 && $endd==1){echo '</table>';}else{
if ($page==1){}else{echo '</table><a href="?page='.($page-1).'">&lt;&lt;&lt; Назад</a>';}
if ($endd==1){echo '<br/>';}else{echo '</table><a href="?page='.($page+1).'">Далее &gt;&gt;&gt;</a><br/>';}
if ($page_count>2){
echo 'Выбор страницы (1-'.$page_count.'):<br/>
<form action="" method="get">
<input name="page" type="text"  maxlength="4" size="5" value="'.$page.'">
<input type="submit" value="перейти"></form>';}}}
echo 'Хосты:'.$host.'<br/>Хиты:'.$hit.'<br/>Всего записей в log файле:'.count($file).'<br/>Размер файла:'.$filerazmer.' байт<br/></body></html>';
?>