Имеется у меня вот такой скрипт
CODE:<?php
$remote = $_SERVER["REMOTE_ADDR"];
$file = "online.txt"; // файл лога посетителей
$timeoutseconds = 300; // how long to keep track of users for in seconds
$timestamp = time();
$timeout = ($timestamp-$timeoutseconds);
$fp = fopen("$file", "a+");
$write = $remote."||".$timestamp."\n";
fwrite($fp, $write);
fclose($fp);
$online_array = array();
$file_array = file($file);
foreach($file_array as $newdata){
list($ip, $time) = explode("||", $newdata);
if($time >= $timeout){
array_push($online_array, $ip);
}
}
$online_array = array_unique($online_array);
$online = count($online_array);
if($online == "1"){
echo "1"; // выводится, если на сайте один человек
}else{
echo "$online"; // выводится, если на сайте несколько человек
}
?>
Но у него есть один недостаток: он ведет лог. Скидывает все IP в текстовый файл, а при большом количестве хостов этот файл может достигать нескольких Мб за неделю.
Поскольку в РНР я пока еще не разбераюсь, то отредактировать его безболезненно не могу.
Если просто удалить из скрипта строки
CODE:$fp = fopen("$file", "a+");
$write = $remote."||".$timestamp."\n";
fwrite($fp, $write);
fclose($fp);
то он отображает количество юзеров неверно.
Может кто разбирается в РНР и знает как отучить скрипт от лога без последствий или где скачать скрипт, не ведущий лог? |