Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Помогите распилить ответ stats

trollface
сообщение 12.5.2014, 14:37
Сообщение #1
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Всем привет.
Суть такая, хочу сделать вывод команды stats себе на сайт...
а точнее вывод числа fps...
просто вывод stats в php выглядит так:
Цитата
CPU In Out Uptime Users FPS Players 3.00 0.00 0.00 5 3 1098.57 0

а мне нужно вывести только 1098.57

предложили такой код:
Код
function getFps($result)
{
    $tmp = explode(PHP_EOL, $result);
    $tmp2 = trim($tmp[1]);
    $tmp3 = explode(' ', $tmp2);
    return $tmp3[18];
}

но не пашет, то есть вообще ничего не возвращает =|
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 12.5.2014, 14:41
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

trollface, попробуй разделитель указать как
Код
&nbsp

так же вместо одинарных попробуй двойные кавычки...

Отредактировал: Bloo, - 12.5.2014, 14:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 12.5.2014, 14:45
Сообщение #3
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Bloo,
в том то и дело что в ответе просто пробелы и нету пропусков как скажем в консоли;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 12.5.2014, 14:59
Сообщение #4
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Тему офф. Решил так:
Код
function getFps($result)
{
    $tmp2 = trim($result);
    $tmp3 = explode(' ', $tmp2);
    return $tmp3[36];
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 12.5.2014, 15:13
Сообщение #5
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Способ оказался не универсальным... при изменении какого либо числа до значения fps = смещение и уже показывает не то что надо =\
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 12.5.2014, 15:21
Сообщение #6
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Код:
public function stats()
{
$stats = explode("\n", $this->command("stats"));
$stats_ = explode(" ", trim($stats[1]));
$stats_all = array();
foreach($stats_ as $val){
$val = trim($val);
if($val != "") $stats_all[] = $val;
}
$stats_all_ = array(
"cpu" => $stats_all[0],
"in" => $stats_all[1],
"out" => $stats_all[2],
"uptime" => array(
"minutes" => $stats_all[3],
),
"users" => $stats_all[4],
"fps" => $stats_all[5],
);
return $stats_all_;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 12.5.2014, 15:45
Сообщение #7
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

serfreeman1337,
сам то пробовал?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 12.5.2014, 16:04
Сообщение #8
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

В общем сделал....
Все оказалось куда проще чем я думал:
Код
function getFps($result)
{
    $str = preg_replace("/  +/", " ", trim($result));
    $tmp = explode(' ', $str);
    return $tmp[11];
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 12.5.2014, 16:41
Сообщение #9
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Цитата(trollface @ 12.5.2014, 18:45) *
serfreeman1337,
сам то пробовал?


Я когда-нибудь постил что-то, что не работает?
$this->connect("status") - замени этот код твоей строкой результата.

Рад что сам решил эту проблему)

Отредактировал: serfreeman1337, - 12.5.2014, 16:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 12.5.2014, 17:31
Сообщение #10
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

serfreeman1337,
твой код не понятно на чем написан...:D
название функции - pawn
остальной код на php
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 12.5.2014, 17:41
Сообщение #11
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Это OOП
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 12.5.2014, 17:45
Сообщение #12
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

serfreeman1337,
я не настолько PR@ чтобы такое знать. я балуюсь на php только :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: