Нашел счетчик вот такой:
CODE:
<?php
// Our log file;
$counter = "module/counter/counter.dat";
// Date logging;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;
// Log visit;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);
// Read log file into array;
$contents = file($counter);
// Total hits;
$total_hits = sizeof($contents);
// Total hosts;
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));
// Daily hits;
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hits, $entry[0]);
}
}
$daily_hits_size = sizeof($daily_hits);
// Daily hosts;
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hosts, $entry[0]);
}
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));
// Let's display everything;
echo "всего хитов: " . $total_hits . "<BR>всего хостов: " . $total_hosts_size . "<BR>сегодня хитов: " . $daily_hits_size . "<BR>сегодня хостов: " . $daily_hosts_size;
?>
Но в нем данные записываются на отдельных строках для каждого визита, например так:
83.237.187.147|23May2006
85.140.232.123|23May2006
и т.д., но за месяц использования этого скрипта файл с данными стал весить >мегабайта, что не есть хорошо, т.к. после счетчика перестала грузиться остальная часть страницы... Можно ли сделать так, чтобы запись в файл шла без IP'шников и даты, а просто цифры на 4 строках:
всего хитов
всего хостов
сегодня хитов
сегодня хостов
Заранее спасибо!