Здравствуйте!
Есть два файла Monitor.php и whazzup.txt
Monitor.php
[php]
<?php
$data = file("whazzup.txt");
for($i=8;$i<count($data);$i++) {
$line = explode(":",$data[$i]);
echo "Позывной: " . $line[0] . ", Имя " . $line[2] . ", Тип в/с " . $line[9], "<br>";
}
?>
whazzup.txt
[code]
![DateStamp]28/06/2013 16:26
!GENERAL
VERSION = 1
RELOAD = 1
UPDATE = 20130628162635
CONNECTED CLIENTS = 1
CONNECTED SERVERS = 15682
!CLIENTS
AAR666:AAR666:SANYA BEST UUEE:PILOT::55.966810:37.387630:639:0:T/B738/F:470:UUEE:5000:URMM:GBS:1:1:1200:0:40:0:I:2709:0:0:0:0:0:::WP1 D145R D298G:::::::20130628161653
AAR666:AAR666:SANYA BEST UUEE:PILOT::55.966810:37.387630:639:0:T/B738/F:470:UUEE:5000:URMM:GBS:1:1:1200:0:40:0:I:2709:0:0:0:0:0:::WP1 D145R D298G:::::::20130628161653
AAR666:AAR666:SANYA BEST UUEE:PILOT::55.966810:37.387630:639:0:T/B738/F:470:UUEE:5000:URMM:GBS:1:1:1200:0:40:0:I:2709:0:0:0:0:0:::WP1 D145R D298G:::::::20130628161653
!SERVERS
GBS:95.84.228.66:Russia:Russia:1
Как обрезать текст чтобы не выводились последние две строки
И как вывести из переменных в DIV?
Игорь_Vasinsky
1.07.2013 - 07:20
Цитата |
Как обрезать текст чтобы не выводились последние две строки |
считать файл в массив - удалить 2 последних элемента, вывести
Цитата |
И как вывести из переменных в DIV? |
а где он в коде?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Как вывести в
div я разобрался просто переменную надо вставлять до фигурной скобки } а я вставлял после, теперь перенёс скобку в самый конец файла
php.
На счёт обрезки 2х последних элементов, что только не пробовал (в меру моих познаний в PHP, которых не так много) ну не получается.
Файл whazzup.txt динамически изменяется, тоесть чем больше народу подключенно на сервер тем больше строк.
Три одинаковых строки это я на время настройки скрипта прописал, скрипт впринцепе выводит так как мне нужно но цепляет строки:
!SERVERS
GBS:95.84.228.66:Russia:Russia:1
и как от них избавится я не знаю и для этого и обратился за помощью сюда на форум.
Как то так.
Если кто приведёт пример буду очень благодарен.
<?php
$data = file("whazzup.txt");
for($i=8;$i<count($data);$i++) {
$line = explode(":",$data[$i]);
echo "Позывной: " . $line[0] . ", Имя " . $line[2] . ", Тип в/с " . $line[9], "<br>";
}
?>
Игорь_Vasinsky
1.07.2013 - 09:59
Это к каждому юзеру добавляется или один раз в конец файла?
Цитата |
!SERVERS GBS:95.84.228.66:Russia:Russia:1 |
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Эти две строки не изменяются!
Изменяются только строки с 9 строки (те которые 3 одинаковых)
Каждая строка содержит инфу о одном подключенном пользователе (например логин, где находистся код аэропорта, тип воздушного судна и тд.)
Это я хочу сделать скрипт мониторинга для сервера виртуальной авиации.
![DateStamp]28/06/2013 16:26
!GENERAL
VERSION = 1
RELOAD = 1
UPDATE = 20130628162635
CONNECTED CLIENTS = 0
CONNECTED SERVERS = 1
!CLIENTS
!SERVERS
GBS:95.84.228.66:Russia:Russia:1
Вот так выглядит
whazzup.txt когда никто не подключенн.
Игорь_Vasinsky
1.07.2013 - 10:10
т.е. все клиенты у тебя между строк
!CLIENTS
и
!SERVERS
?
ну можно читать файл и регуляркой выдёргивать
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
По сути мне нужно вывести то что после !CLIENTS и до !SERVERS
Цитата (Игорь_Vasinsky @ 1.07.2013 - 10:10) |
ну можно читать файл и регуляркой выдёргивать |
А можно пример?
Просто я очень плохо знаю PHP
Но я учусь чесно
<?php
$data = file("whazzup.txt");
for($i=8;$i<count($data);$i++) {
$line = explode(":",$data[$i]);
echo "Позывной: " . $line[0] . ", Имя " . $line[2] . ", Тип в/с " . $line[9], "<br>";
}
?>
Я это то код рисовал три ночи!
Игорь_Vasinsky
1.07.2013 - 10:34
если файл до 3мб то
$file = file_get_contents('test.txt');
preg_match('#\!CLIENTS(.*)\!SERVERS#usU', $file, $match);
$res = explode(PHP_EOL, $match[1]);
foreach($res as $str){
if(strlen($str)>0){
$temp = explode(':', $str);
echo "Позывной: " . $temp[0] . ", Имя " . $temp[2] . ", Тип в/с " . $temp[9], "<br>";
}
}
если больше - то читать нужно кусками с fgets()
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
1.07.2013 - 10:35
ну можно канешь ваще одной регуляркой - но я б не замарачивался.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Файл ну максимум будет одновременно на 30-40 строк а это килобайты.
А так всё работает, за что огромное спасибо!
Игорь_Vasinsky
1.07.2013 - 10:44
Цитата |
одновременно на 30-40 строк а это килобайты. |
ну тогда и это сойдёт
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
У вас в профиле сайт полезный hdkinozavr.ru
А то я на ivi и tvzavr всё пересмотрел, у вас контент поинтересней будет.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.