Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Linux + PHP (вывод реального времяни или из log файла)
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Linux + PHP (вывод реального времяни или из log файла)

Страниц (1): [1]
 

1. DbIm - 25 Июня, 2011 - 00:13:56 - перейти к сообщению
Имеется программа вывод которой идет в консоль. Вопрос Голливудская улыбка! Возможно ли сделать вывод консоли на сайт в ральном времяни (не результат а построчно, в реальном времяни). Нельзя? - Не проблема.
Вопрос №2 Голливудская улыбка
Имеется лог файл, данной программы, и вот собственно это разумней мне кажется...... Помогите создать скрипт, чтения этого лог файла, но не всего лог файла а например его последние 30 строк(лог файл очень большой....), ну так мимолётом хотелось бы что бы последние 30 строк эти обновлялись, каждые 3 секунды(например)
Что имеется.... Уже есть скрипт вывода этого лог файла на сайт вот он... Ну точнее отрывок.... Но этот лог файл много "Весит" и долго грузится.......
Вот собственно почему мне нужен скрипт.....
CODE (htmlphp):
скопировать код в буфер обмена
  1.                                 echo "[<b>".(is_readable($file) ? '<font color=green>Консоль.......</font>' : '<font color=red>Консоль не доступна!</font>')."</b>]
  2.                                 <p align=center><textarea name=content cols=100 rows=30>".htmlspecialchars(file_get_contents($file))."</textarea></p>
  3.                                 </form>";

Вот собственно хотелось бы подобный код, только который выводил бы из $file только последние 30 строк......
Буду очень признателен.
2. OrmaJever - 25 Июня, 2011 - 00:22:16 - перейти к сообщению
файл можно прочитать только сначала.
3. DbIm - 25 Июня, 2011 - 00:22:56 - перейти к сообщению
Тоесть, невозможно, я так понял?
4. OrmaJever - 25 Июня, 2011 - 00:26:27 - перейти к сообщению
последние 30 строк - нет.
5. DbIm - 25 Июня, 2011 - 00:31:18 - перейти к сообщению
Т.е.? а как можно? Собственно проблема в долгой загрузке и нагрузке на сеть, есть возможность, убить 2 зайцев одновременно?
Эх наверно мой вопрос довольно тупо звучит Голливудская улыбка..........
6. EuGen - 25 Июня, 2011 - 00:43:17 - перейти к сообщению
OrmaJever пишет:
последние 30 строк - нет.

Да можно, отчего ж нет. Хотя бы тот же
PHP:
скопировать код в буфер обмена
  1. exec("tail -n 30 path/to/file", $rgResult);

- если лень возиться с высчитыванием строк в цикле.
7. DbIm - 25 Июня, 2011 - 02:19:54 - перейти к сообщению
EuGen пишет:
exec("tail -n 30 path/to/file", $rgResult);

Этот код выводит 30 строку с конца, а не все 30 строк с конца.......... Или я ошибся?
CODE (htmlphp):
скопировать код в буфер обмена
  1.     echo exec("tail -n 30 ./log.log") ; echo "<br>";

30 строчка выводится
8. EuGen - 25 Июня, 2011 - 02:25:44 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. exec("tail -n 30 path/to/file", $rgResult);
  2. var_dump($rgResult);
9. DbIm - 25 Июня, 2011 - 02:56:09 - перейти к сообщению
4444444444
(Добавление)
EuGen пишет:
exec("tail -n 30 path/to/file", $rgResult);
var_dump($rgResult);

CODE (htmlphp):
скопировать код в буфер обмена
  1. array(30) { [0]=> string(65) " Invalid address "65.73.232.251:27010", setmaster command ignored" [1]=> string(65) " Invalid address "65.73.232.253:27010", setmaster command ignored" [2]=> string(37) "Adding master at 92.248.152.185:27010" [3]=> string(37) "Adding master at 188.17.245.102:27010" [4]=> string(65) " Invalid address "72.165.61.189:27010", setmaster command ignored" [5]=> string(35) "Adding master at 68.142.72.25:27010" [6]=> string(20) "exec server.cfg DONE" [7]=> string(104) "[AMXBans] Загружен список из 6 администраторов из базы данных" [8]=> string(83) "Menu item 18 added to Menus Front-End: "Plugin Cvars" from plugin "pluginmenu.amxx"" [9]=> string(86) "Menu item 19 added to Menus Front-End: "Plugin Commands" from plugin "pluginmenu.amxx"" [10]=> string(77) "[AMXBans] 8 причин(а) банов(а) загружены(а) из БД." [11]=> string(0) "" [12]=> string(24) " [Zeus] Author: sector" [13]=> string(22) " [Zeus] Version: 1.7" [14]=> string(27) " [Zeus] Web: cs-people.ru" [15]=> string(33) " [Zeus] Install Zeus Anti-Cheat" [16]=> string(0) "" [17]=> string(39) "Connection to Steam servers successful." [18]=> string(32) " VAC secure mode is activated." [19]=> string(110) "Menu item 20 added to Menus Front-End: "AMXBans: Помеченные игроки" from plugin "AMXBans Main"" [20]=> string(112) "Menu item 21 added to Menus Front-End: "AMXBans: Отключенные игроки" from plugin "AMXBans Main"" [21]=> string(102) "Menu item 22 added to Menus Front-End: "AMXBans: История банов" from plugin "AMXBans Main"" [22]=> string(88) "Menu item 23 added to Menus Front-End: "AMXBans: Screens" from plugin "AMXBans: Screens"" [23]=> string(54) "L 06/25/2011 - 03:49:36: World triggered "Round_Start"" [24]=> string(76) "L 06/25/2011 - 03:54:36: Team "CT" triggered "Target_Saved" (CT "1") (T "0")" [25]=> string(52) "L 06/25/2011 - 03:54:36: World triggered "Round_End"" [26]=> string(54) "L 06/25/2011 - 03:54:41: World triggered "Round_Start"" [27]=> string(76) "L 06/25/2011 - 03:56:26: Team "CT" triggered "Target_Saved" (CT "2") (T "0")" [28]=> string(52) "L 06/25/2011 - 03:56:26: World triggered "Round_End"" [29]=> string(54) "L 06/25/2011 - 03:56:31: World triggered "Round_Start"" }


Собственно все в одну строку да и string() мешает(((
(Добавление)
Лезу я не в свою тарелку PHP не знаю, а поэксперементировать хочется..... Почти всю панель сделал......
10. DeepVarvar - 25 Июня, 2011 - 03:10:17 - перейти к сообщению
вместо: var_dump($rgResult);

написать: foreach ($rgResult as $line) echo "$line<br />";
11. EuGen - 25 Июня, 2011 - 03:22:10 - перейти к сообщению
А так хотелось, чтобы автор поковырялся. Эх
12. DbIm - 25 Июня, 2011 - 03:28:47 - перейти к сообщению
Я еще поковыряюсЬ. уверяю Голливудская улыбка
(Добавление)
Спасибо!!!!! Голливудская улыбка
(Добавление)
Спасибо В конце коцов все вот так вышло:
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo '<p align="center"><br><textarea rows=30 cols=100 name=fileentry>';
  2.     echo exec("tail -n 40 ./log.log", $rgResult);
  3.         foreach ($rgResult as $line) echo "$line\n";
  4. echo '</textarea>'; echo "<br>";

Может кому то понадобится Голливудская улыбка

 

Powered by ExBB FM 1.0 RC1