|
|
|
| Здраствуйте.
Мой скрипт "Сколько в онлайн", записывает в online.txt информацию такого типа:
172.16.0.2|1038236463
792.162.0.101|1028236483
Как я понял это IP и время последнего действия,
задача, создать скрипт(отдельный), который сам читает online.txt и отображает на странице информацию такого типа:
Сейчас на сайте:<br>
172.16.0.2 <br>
792.162.0.101 <br>
|
Точнее все просто, читаем, лишнее убираем, br ставим. Но online.txt не изменяем!!! Я б и сам сделал. Но просто php плохо знаю.
Могу токо начать:
<?php
$whois = fopen('/php/online.txt');
???????????
$whois Кил все в строчке после "|" <br> :)
???????????
???????????
?>
|
Заранее спасибо! | |
|
|
|
|
|
|
|
для: YAN
(13.06.2006 в 11:59)
| | Ну, не кто не знает как сделать? | |
|
|
|
|
автор: honuryk (13.06.2006 в 14:28) |
|
|
для: YAN
(13.06.2006 в 14:24)
| | вот тут посмотри
http://softtime.ru/scripts/online.php | |
|
|
|
|
|
|
|
для: honuryk
(13.06.2006 в 14:28)
| | Зачем мне скрипт?
Я хочу только отображать с фаила, с маленькой его изменой.
Что, не кто помоч не может? | |
|
|
|
|
|
|
|
для: YAN
(13.06.2006 в 21:02)
| | о!
$whois = @file('/php/online.txt');
for ($i=0;$i<count($whois);$i++)
{
$ip = explode("|",$whois[$i]);
print "$ip[0]<br>";
}
|
| |
|
|
|
|
|
|
|
для: NFR
(13.06.2006 в 22:15)
| | Этот скрипт, изменяет '/php/online.txt' ??? | |
|
|
|
|
|
|
|
для: YAN
(16.06.2006 в 13:13)
| | Помойму он ничего не изменяет - раз.
Во вторых - стоитло бы поменять название файла в моём коде... $file=file('php/online.txt'); | |
|
|
|
|
|
|
|
для: YAN
(16.06.2006 в 13:13)
| | не-а... | |
|
|
|
|
|
|
|
для: NFR
(13.06.2006 в 22:15)
| | Нет. Скрипт не подходит. Он не чего не показывает! | |
|
|
|
|
|
|
|
для: YAN
(13.06.2006 в 11:59)
| | А лишние записи из online.txt удаляются? Т.е. там всегда актуальная информация и нужно вывести только IP-адреса? | |
|
|
|
|
|
|
|
для: cheops
(13.06.2006 в 22:50)
| | > Но online.txt не изменяем!!!
Он сам говорил, что ничего не удаляем;-Р | |
|
|
|
|
|
|
|
для: NFR
(14.06.2006 в 09:27)
| | не чего не изменяем.
Фаил сам обновляеться!
Пуст отображаються только ip адресса | |
|
|
|
|
|
|
|
для: YAN
(15.06.2006 в 16:23)
| | так тебе мой скриптик подошёл/нет?.. | |
|
|
|
|
|
|
|
для: NFR
(15.06.2006 в 18:17)
| | попробуй чтото в этом роде:
<?php
$file=file('online.txt'); // Каждую строку текста в файле заносим в массив
$time=time()-180; // Устанавливаем время таймаута после которого пользователь считается не активен
for($i=0;$i<count($file);$i++){ // для каждой строки в файле, точнее для каждой строки находящейся в массиве..
$file[$i]=trim("|",$file[$i]); // Делим строку на ip и время посещения. Загоняем это в двухмерный массив
if($file[$i][0]>$time){echo"Пользователь с адрессом: ".$files[$i][1]. " сейчас наслаждается сайтов вместе с нами.";}
// Проверяем - если пользователь был тут меньше сем 180 сек. назад - значит он с нами.
}
?>
|
Если чтото не понятно по поводу массивов - напиши в конце скрипта: print("<pre>");print_r($file);
Может это прольёт свет
Саша. | |
|
|
|
|
|
|
|
для: valenok
(15.06.2006 в 20:06)
| | не работает :(
Отображает пустую страницу. | |
|
|
|
|
|
|
|
для: YAN
(13.06.2006 в 11:59)
| | Вы можете воспользоваться скриптом, который приводится в конце темы http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=10772. | |
|
|
|
|
|
|
|
для: cheops
(16.06.2006 в 15:31)
| |
<? $ip = $REMOTE_ADDR; $time = time(); $minutes = 15; $found = 0; $users = 0; $user = ""; if (!is_file("online.txt")) { $s = fopen("online.txt","w"); fclose($s); chmod("online.txt",0666); } $f = fopen("online.txt","r+"); flock($f,2); while (!feof($f)) { $user[] = chop(fgets($f,65536)); } fseek($f,0,SEEK_SET); ftruncate($f,0); foreach ($user as $line) { list($savedip,$savedtime) = split("\|",$line );if ($savedip == $ip) {$savedtime = $time;$found = 1;} if ($time < $savedtime + ($minutes * 60)) { fputs($f,"$savedip|$savedtime\n"); $users = $users + 1; } } if ($found == 0) { fputs($f,"$ip|$time\n"); $users = $users + 1; } fclose ($f); print "$users"; ?>
|
Вот мой скрипт Онлайн.
Все данные он сохраняет в online.txt
А нам надо скрипт, допустим unline.php, который через "<br>" или "<pre>", отображет ТОЛЬКО ip адреса. Без замены файла.
Пока я сделал просто,
<pre><?php include ('php/online.txt');?></pre>
| Осталось только убрать лишнее после "|" в каждой строчке.
Скрипт:
<?php
$file=file('php/online.txt'); // Каждую строку текста в файле заносим в массив
$time=time()-180; // Устанавливаем время таймаута после которого пользователь считается не активен
for($i=0;$i<count($file);$i++){ // для каждой строки в файле, точнее для каждой строки находящейся в массиве..
$file[$i]=trim("|",$file[$i]); // Делим строку на ip и время посещения. Загоняем это в двухмерный массив
if($file[$i][0]>$time){echo"Пользователь с адрессом: ".$files[$i][1]. " сейчас наслаждается сайтов вместе с нами.";}
// Проверяем - если пользователь был тут меньше сем 180 сек. назад - значит он с нами.
}
?>
|
почему то вообще не отображает не чего :(
Но там уже перебор. "время таймаута после которого пользователь считается не активен".
Спасибо, не надо! | |
|
|
|
|
|
|
|
для: YAN
(17.06.2006 в 13:21)
| | добавь в конце:
print("<pre>");print_r($file);
Что вышло? | |
|
|
|
|
|
|
|
для: valenok
(17.06.2006 в 13:36)
| | неа. Пишет
| |
|
|
|
|
|
|
|
для: YAN
(17.06.2006 в 14:11)
| | Хм. А после первой строчки?
<?php
$file=file('php/online.txt');
print("<pre>");print_r($file); | |
|
|
|
|
|
|
|
для: valenok
(17.06.2006 в 14:34)
| | А так
Array
(
[0] => 67.15.60.41|1150541944
) | |
|
|
|
|
|
|
|
для: YAN
(17.06.2006 в 15:01)
| |
<?php
$file=file('php/online.txt'); // Каждую строку текста в файле заносим в массив
$time=time()-180; // Устанавливаем время таймаута после которого пользователь считается не активен
for($i=0;$i<count($file);$i++){ // для каждой строки в файле, точнее для каждой строки находящейся в массиве..
$online=trim("|",$file[$i]); // Делим строку на ip и время посещения. Загоняем это в двухмерный массив
if($online[0]>$time){echo"Пользователь с адрессом: ".$online[1]. " сейчас наслаждается сайтов вместе с нами.";}
// Проверяем - если пользователь был тут меньше сем 180 сек. назад - значит он с нами.
}
?>
|
| |
|
|
|
|
|
|
|
для: valenok
(17.06.2006 в 18:23)
| | Пустая страница! | |
|
|
|