Да. Я понимаю. И говорю. Что не действует он. понять не могу почему. что то мешает вроде. Убирал 代码: while (!feof($f)) { $mytext=fgets($f,9999); echo $mytext."<br>"; }*/ Который кстати тоже не пашет. Всё равно. Читает лог полностью. :mellow:
Ну мой код пока выкладывать рано.. но вот. тот что тут выложен с твоим добавлением. 代码: <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."              ".$stroka1."<br>"; $i++; } ?> </html> И вообще. На сколько я знаю fseek функция для строки. 1 строки, а не для множества строк. :mellow:
Конечно не будет так работать, ты просто не понимаешь алгоритм работы данного скрипта 代码: <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."              ".$stroka1."<br>"; $i++; } ?> </html>
Сделай доброе дело.. поставь посмотри а потом что-либо говори и упрекай меня... не работает... -25 я ставил от балды. Пробовал множество вариантов. Никаких изменений..
Ты внимательно читал комментарии, что я написал в коде? В твоём коде закомментирован правильный алгоритм перебора строк.
Опс. Извиняюсь. не видел всех объяснений 代码: /* Здесь идут серверные логи в стандартной кодировке (base64), именно этот кусок кода и переделывай, а то что ты написал ниже будет читать весь файл while (!feof($f)) { $mytext=fgets($f,9999); echo $mytext."<br>"; }*/ И как его переделать... Я уже запутался. то ты пишешь поставить После 代码: $f=fopen($file1,'r'); fseek($f,-15000,SEEK_END); $buffer=fgets($f); И всё. Теперь другое :mellow:
Эх, как ещё больше разжевать я просто не знаю, тут делов-то на 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."  ".$stroka1."<br>"; } ?> </html>
Понял. Спасибо вам большое. Спасибо что разжевали и не послали в общем плюсики от меня. Пасиб^^ :mellow:
Поставь пвАдмин и не парься. Там все реализовано очень удобно и никаких ненужных стопицоткк сообщений.
Вот, мальчик, прямая цитата где ты утверждаешь что ява и пхп одно и то же. Мы тут говорим о ПХП чате, а ты нам о том что в пвАдмине всё уже сделанно.. Хм.. Ничего красивого? и чем же отличается вот это От чата пвАдмина? Тем что тут есть смайлы и это не красиво? :huh:
Если тут так фанатеют и покланяются пвАдмину то ради бога, ставьте его. Я лишь предлагаю более удобный и быстрый способ. Зачем устанавливать пвАдмин ради того что мы тут реализовали в 1 файлике. Тем более более практично и красивее пвАдмина. (имхо). Плюс можно поставить на сайт сервера и будет вам и игрокам новая плюшка. :mellow:
Продам скрипт просмотра чата в реальном времени :mellow:, выводит ники, все смайлы, выбор каналов чата Пару скринов