1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Чат на сайте

Тема в разделе 'PW Web', создана пользователем gamer777, 14 авг 2010.

  1. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    Да. Я понимаю. И говорю. Что не действует он. понять не могу почему. что то мешает вроде.

    Убирал
    Код:
    while (!feof($f)) { 
    
    $mytext=fgets($f,9999);
    
    echo $mytext."<br>";
    
    }*/
    Который кстати тоже не пашет. Всё равно. Читает лог полностью. :mellow:
  2. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Читай внимательно куда нужно ставить тот кусок.
    1 человеку нравится это.
  3. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    . . . Читал я.. ставил... не работает. . .
  4. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Напиши полный свой код, я посмотрю.
    1 человеку нравится это.
  5. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    Ну мой код пока выкладывать рано.. но вот. тот что тут выложен с твоим добавлением.

    Код:
    <html>
    <meta http-equiv="refresh" content="5; URL="109.185.153.130/chat.php"   charset="UTF-8"> 
    <?php
    echo "Сделано by gamer777 специально для Godlike-pw.my1.ru <br>";
    $file1='/home/logservice/logs/world2.chat';
    $f=fopen($file1,'r');
    fseek($f,-25,SEEK_END);
    $buffer=fgets($f);
    if (!$f) die("Не удалось открыть файл!");
    else echo ("<br>");
    /*
    Здесь идут серверные логи в стандартной кодировке (base64)
    while (!feof($f)) { 
    $mytext=fgets($f,9999);
    echo $mytext."<br>";
    }*/
    $f1=file($file1);
    $a=count($f1);
    $i=0;
    $j=0;
    $stroka1="";
    while ($i<($a+1)) {
    $stroka=$f1[$i];
    $data=substr($stroka,0,19);
    $dlina=strlen($stroka);
    $pos=strrpos($stroka,"msg=");
    $stroka1=substr($stroka,($pos+4),$dlina);
    $stroka1=base64_decode($stroka1);
    $stroka1=iconv("UTF-16","UTF-8",$stroka1);
    echo $data."&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp ".$stroka1."<br>";
    $i++;
    }
    
    ?>
    </html>
    
    И вообще. На сколько я знаю fseek функция для строки. 1 строки, а не для множества строк. :mellow:
  6. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Конечно не будет так работать, ты просто не понимаешь алгоритм работы данного скрипта

    Код:
    
    <html>
    <meta http-equiv="refresh" content="5; URL="109.185.153.130/chat.php"   charset="UTF-8"> 
    <?php
    echo "Сделано by gamer777 специально для Godlike-pw.my1.ru <br>";
    $file1='/home/logservice/logs/world2.chat';
    $f=fopen($file1,'r');
    fseek($f,-2500,SEEK_END); // число означает не количество строк, а количество байт
    $buffer=fgets($f);               // А эта строка для того чтобы установить указатель именно в начало следующей строки , т.к. fseek  попадет не в начало строки
    if (!$f) die("Не удалось открыть файл!");
    else echo ("<br>");
    /*
    Здесь идут серверные логи в стандартной кодировке (base64), именно этот кусок кода и переделывай, а то что ты написал ниже будет читать весь файл
    while (!feof($f)) { 
    $mytext=fgets($f,9999);
    echo $mytext."<br>";
    }*/
    
    // всё что ниже читает весь файл в массив, и потом его выводит, т.е. хрень полная для файлов , которые могут весить гигабайты
    $f1=file($file1);
    $a=count($f1);
    $i=0;
    $j=0;
    $stroka1="";
    while ($i<($a+1)) {
    $stroka=$f1[$i];
    $data=substr($stroka,0,19);
    $dlina=strlen($stroka);
    $pos=strrpos($stroka,"msg=");
    $stroka1=substr($stroka,($pos+4),$dlina);
    $stroka1=base64_decode($stroka1);
    $stroka1=iconv("UTF-16","UTF-8",$stroka1);
    echo $data."&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp ".$stroka1."<br>";
    $i++;
    }
    
    ?>
    </html>
    
    
    
    
    1 человеку нравится это.
  7. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    Сделай доброе дело.. поставь посмотри а потом что-либо говори и упрекай меня... не работает... -25 я ставил от балды. Пробовал множество вариантов. Никаких изменений..
  8. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Ты внимательно читал комментарии, что я написал в коде? В твоём коде закомментирован правильный алгоритм перебора строк.
    1 человеку нравится это.
  9. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    Опс. Извиняюсь. не видел всех объяснений

    Код:
    /*
    Здесь идут серверные логи в стандартной кодировке (base64), именно этот кусок кода и переделывай, а то что ты написал ниже будет читать весь файл
    while (!feof($f)) { 
    $mytext=fgets($f,9999);
    echo $mytext."<br>";
    }*/
    
    И как его переделать...

    Я уже запутался. то ты пишешь поставить
    После
    Код:
    $f=fopen($file1,'r');
    
    fseek($f,-15000,SEEK_END);
    $buffer=fgets($f);
    И всё.

    Теперь другое :mellow:
  10. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Эх, как ещё больше разжевать я просто не знаю, тут делов-то на 2 минуты

    Код:
    
    <html>
    <meta http-equiv="refresh" content="5; URL="chat.php"   charset="UTF-8"> 
    <?php
    $file1='/home/logservice/logs/world2.chat';
    $f=fopen($file1,'r');
    
    if (!$f) die("Не удалось открыть файл!");
    fseek($f,-5000,SEEK_END); // число означает не количество строк, а количество байт
    $buffer=fgets($f);               // А эта строка для того чтобы установить указатель именно в начало следующей строки , т.к. fseek  попадет не в начало строки
    while (!feof($f)) { 
    $stroka=fgets($f,9999);
    
    $data=substr($stroka,0,19);
    $dlina=strlen($stroka);
    $pos=strrpos($stroka,"msg=");
    $stroka1=substr($stroka,($pos+4),$dlina);
    $stroka1=base64_decode($stroka1);
    $stroka1=iconv("UTF-16","UTF-8",$stroka1);
    echo $data."&nbsp&nbsp".$stroka1."<br>";
    }
    
    ?>
    </html>
    
    
    
    
    1 человеку нравится это.
  11. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    Понял. Спасибо вам большое. Спасибо что разжевали и не послали :D в общем плюсики от меня. Пасиб^^ :mellow:
  12. MorzE nullptr AngeliCore Пользователи

    Сообщения:
    198
    Лайки:
    134
    Пол:
    Мужской
    Репутация:
    3
    Страна:
    Russian Federation Russian Federation
    Стоит 4 из 5 звезд php... А такое сделать не можешь...
  13. chetoss Пользователи

    Сообщения:
    13
    Лайки:
    11
    Пол:
    Мужской
    Репутация:
    0
    хмм помогите мне надо видеть ид написавшего подскажите как сделать)
  14. JoLan Команда форума Администратор AngeliCore Программист

    Сообщения:
    1.061
    Лайки:
    948
    Пол:
    Мужской
    Репутация:
    6
    Команда:
    AngeliCore
    Страна:
    Russian Federation Russian Federation
    курить маны по php
    1 человеку нравится это.
  15. MorzE nullptr AngeliCore Пользователи

    Сообщения:
    198
    Лайки:
    134
    Пол:
    Мужской
    Репутация:
    3
    Страна:
    Russian Federation Russian Federation
    Поставь пвАдмин и не парься. Там все реализовано очень удобно и никаких ненужных стопицоткк сообщений.
  16. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    Вот, мальчик, прямая цитата где ты утверждаешь что ява и пхп одно и то же. Мы тут говорим о ПХП чате, а ты нам о том что в пвАдмине всё уже сделанно..

    Хм.. Ничего красивого? и чем же отличается вот это
    [​IMG]

    От чата пвАдмина?
    Тем что тут есть смайлы и это не красиво? :huh:
  17. Kenpachi™ Who Crazy? Old school Пользователи Just a troll

    Сообщения:
    361
    Лайки:
    195
    Пол:
    Женский
    Репутация:
    0
    Команда:
    Solo
    Если тут так фанатеют и покланяются пвАдмину то ради бога, ставьте его. Я лишь предлагаю более удобный и быстрый способ. Зачем устанавливать пвАдмин ради того что мы тут реализовали в 1 файлике. Тем более более практично и красивее пвАдмина. (имхо). Плюс можно поставить на сайт сервера и будет вам и игрокам новая плюшка. :mellow:
  18. chetoss Пользователи

    Сообщения:
    13
    Лайки:
    11
    Пол:
    Мужской
    Репутация:
    0
    Поправка в двух файликах)(если смотреть на твой чат)
  19. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Продам скрипт просмотра чата в реальном времени  :mellow:, выводит ники, все смайлы, выбор каналов чата

    Пару скринов

    [​IMG]

    [​IMG]
    1 человеку нравится это.
  20. MorzE nullptr AngeliCore Пользователи

    Сообщения:
    198
    Лайки:
    134
    Пол:
    Мужской
    Репутация:
    3
    Страна:
    Russian Federation Russian Federation
    Вот оно! Это удобно и красиво. +
Черновик сохранён Черновик удалён

Поделиться этой страницей