Здравствуйте, недавно завелся такой идеей, как вывести на php страницу консоль игрового сервера. Задумка была очень простой, но в реализации у меня как всегда проблемы. Завожу консоль вот таким образом: screen -ALmdS myserver ./hlds_run -game cstrike +map de_dust2 +maxplayers 32 -port 27015 -debug -pidfile hlds.pid Так вот, сервер завелся, создался файлик: screenlog.0, вот думаю его спарсить через PHP и вывести, нашел вот такую статью. В ней реализована загрузка файла и его чтение, но не знаю, как его вывести в консоль
Да, нужно вывести его, и чтобы он не разползался на всю страницу, а был ползунок, чтобы его передвигать можно было. Короче говоря: сделать окошко с ползунком, и в его выводить данный файл
Загрузи сюда пример screenlog.0 как файл. Вот рамка на HTML так делается http://htmlbook.ru/css/overflow Файл из файла можно так вывести в этот div https://secure.php.net/manual/ru/function.file-get-contents.php При чём тут FTP? Я так и не понял.
Переименовал его в .txt, так как у вас не грузится .0 файлы Но это обычный txt --- Добавлено --- Файл на FTP лежит, его нужно взять из FTP и вывести в рамку с ползунком
Если файл обновляется например раз в 10 минут, то ты его через cron через этот промежуток бери, а то каждый раз лезть на FTP не оптимально.
У тебя хостинг? Там должен быть крон, или можно воспользоватся сервисом, например easycron. Как часто файл по FTP нужно скачивать?
Ну в ISP есть CRON, я знаю, как указать путь к скрипту, чтобы он данные обновлял, но не знаю, как вывести консоль эту с FTP: на FTP лежит файлик screenlog.0 его нужно взять например раз в 1 минуту, и выполнить, а он обновит на всех серверах консоль
Создай два этих php файлов в одной папке на хостинге. Файл для cron PHP: <?php // объявление переменных $local_file = 'screenlog.0'; $server_file = 'screenlog.0'; // путь к файлу на сервер // установка соединения $conn_id = ftp_connect('IP или домен FTP сервера'); // вход с именем пользователя и паролем $login_result = ftp_login($conn_id, 'логин FTP', 'пароль FTP'); // попытка скачать $server_file и сохранить в $local_file if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { echo "Произведена запись в $local_file\n"; } else { echo "Не удалось завершить операцию\n"; } // закрытие соединения ftp_close($conn_id); вывод файла, создай пустой screenlog.0 PHP: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>overflow</title> <style> .layer { overflow: scroll; /* Добавляем полосы прокрутки */ width: 300px; /* Ширина блока */ height: 150px; /* Высота блока */ padding: 5px; /* Поля вокруг текста */ border: solid 1px black; /* Параметры рамки */ } </style> </head> <body> <div class="layer"> <pre> <?=file_get_contents('screenlog.0')?> </pre> </div> </body> </html> не проверял, но возможно заработает
есть такой вот скрипт! Вставил html код, консоль показалась, настроил размеры, но не знаю, как тут вписать ftp, мне нужно сделать так, чтобы при обновлении этой страницы, файл качался так, без крона. FTP хост, юзер, пароль есть немного ниже, только я не знаю как это все вставить