Возможно ли вообще такое, что-бы скрипт не использовал ни базу данных ни текстовый файл? Просто мне не надо знать IP пользователей, надо просто видеть сколько человек онлайн.
Дело в том, что за неделю список IP может занимать 10-15 Мб... это очень раздражает, тем более пользы от него никакой.
Вобщем я ищу скрипт, который бы никуда ничего не записывал, а просто выводил количество людей онлайн.
1. KreZ - 07 Апреля, 2007 - 01:48:37 - перейти к сообщению
2. Alone - 07 Апреля, 2007 - 05:24:47 - перейти к сообщению
3. KreZ - 07 Апреля, 2007 - 08:10:29 - перейти к сообщению
Мне не статистика нужна, а что-бы на сайте была надпись вроде "Онлайн 5 человек".
4. Jakeryf - 07 Апреля, 2007 - 09:12:25 - перейти к сообщению
CODE:
session_start();
$id = session_id();
$Time = time();
$oldTime = time();
$ar = @file('file.txt');
$n = 0;
for($i=0;$i<sizeof($mas); $i++)
{
$line = explode("/",$ar[$i]);
if($line[1]>$oldTime)
{
$new_ar[$n] = $ar[$i];
$n++;
}
}
for($i=0;$i<sizeof(new_ar);$i++)
{
$line = explode("/",$ar[$i]);
if($line[0] == $id)
{
$line[1] = trim($Time)."\n";
$is_id = true;
$line = implode("/",$line);
$new_ar[$i] = $line;
}
}
$fp = @fopen('file.txt',"w");
for($i=0;$i<sizeof($ar);$i++)
{
fputs($fp,$new_ar[$i]);
}
fclose($fp);
if(!$is_id)
{
$fp = @fopen('file.txt',"a");
$line = $id."/".$Time."\n";
fputs($fp,$line);
fclose($fp);
}
$ar1 = file('file.txt');
echo "Сейчас посетителей - ".$sizeof($ar1);
session_start();
$id = session_id();
$Time = time();
$oldTime = time();
$ar = @file('file.txt');
$n = 0;
for($i=0;$i<sizeof($mas); $i++)
{
$line = explode("/",$ar[$i]);
if($line[1]>$oldTime)
{
$new_ar[$n] = $ar[$i];
$n++;
}
}
for($i=0;$i<sizeof(new_ar);$i++)
{
$line = explode("/",$ar[$i]);
if($line[0] == $id)
{
$line[1] = trim($Time)."\n";
$is_id = true;
$line = implode("/",$line);
$new_ar[$i] = $line;
}
}
$fp = @fopen('file.txt',"w");
for($i=0;$i<sizeof($ar);$i++)
{
fputs($fp,$new_ar[$i]);
}
fclose($fp);
if(!$is_id)
{
$fp = @fopen('file.txt',"a");
$line = $id."/".$Time."\n";
fputs($fp,$line);
fclose($fp);
}
$ar1 = file('file.txt');
echo "Сейчас посетителей - ".$sizeof($ar1);
Можешь сделать чтобы еще и ip адреса хранились
5. KreZ - 07 Апреля, 2007 - 10:28:14 - перейти к сообщению
Не работает
ЗЫ А можно чтоб вообще ничего нигде не хранилось? Может кто встречал такой скрипт?
ЗЫ А можно чтоб вообще ничего нигде не хранилось? Может кто встречал такой скрипт?
6. Alone - 07 Апреля, 2007 - 10:33:25 - перейти к сообщению
KreZ пишет:
А можно чтоб вообще ничего нигде не хранилось?
Нельзя.
Но не понятно почему у тебя такая база большая.
Ведь должно быть так:
Записываются IP адреса тех кто был в течение 5 минут, потом после 5 минут удаляются... и так всегда. От силы файл доджен весить 10-50 килобайт.
7. KreZ - 07 Апреля, 2007 - 12:25:07 - перейти к сообщению
Чегото этот скрипт не работает...
"Fatal error: Call to undefined function: () in адрес сайта\online.php on line 44"
на первой строке "<?php", значит ошибка тут: echo "Сейчас посетителей - ".$sizeof($ar1);
Я в РНР не разбираюсь, поэтому подправить не могу Это только у меня не работает?
"Fatal error: Call to undefined function: () in адрес сайта\online.php on line 44"
на первой строке "<?php", значит ошибка тут: echo "Сейчас посетителей - ".$sizeof($ar1);
Я в РНР не разбираюсь, поэтому подправить не могу Это только у меня не работает?
8. awep - 07 Апреля, 2007 - 14:45:07 - перейти к сообщению
не $sizeof($ar1) а sizeof($ar1)
9. Jakeryf - 07 Апреля, 2007 - 14:56:24 - перейти к сообщению
извиняюсь за описку, код прям в броузере писал, не проверял.
KreZ
Данные должны хоть где-нибудь храниться так что без файла не обойтись.
KreZ
Данные должны хоть где-нибудь храниться так что без файла не обойтись.
10. KreZ - 07 Апреля, 2007 - 15:54:22 - перейти к сообщению
Спасибо за скрипт!