extremist

bans.txt в таблицу (PHP)

Вопрос

Бьюсь над построением таблицы из файла bans.txt (хочу добавить список банов на страницу статистики своего сервера) Но пока не удается получить желаемый результат. Использую такой код:

<?php
    $a = file('C:\Program Files (x86)\Arma 2 Dayz\instance_24_Napf\Battleye\bans.txt');
    echo '<table width="500" border="1"><tr><th>№</th><th>guid</th><th>Срок бана</th><th>Причина</th></tr>'; 
   
    $i = 1;
    foreach ($a as $s)
	{
      echo '<tr><td>', $i++, '</td><td>',
           implode('</td><td>', array_slice(explode(' ', $s), 0,2,4)),
           '</td></tr>';
    }
      echo '</table>';
?>

как разделитель указываю пробел, но в этом файле в "причинах бана" пробелы встречаются и таблица некорректно строится.

 

Утилы DaRT и EPM Rcon Tool также выстраивают таблицы из этого файла. Может кто сведущ в данном вопросе и подскажет каким макаром таблицу выстроить?

Изменено пользователем extremist (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

6 ответов на этот вопрос

Бьюсь над построением таблицы из файла bans.txt (хочу добавить список банов на страницу статистики своего сервера) Но пока не удается получить желаемый результат. Использую такой код:

<?php
    $a = file('C:\Program Files (x86)\Arma 2 Dayz\instance_24_Napf\Battleye\bans.txt');
    echo '<table width="500" border="1"><tr><th>№</th><th>guid</th><th>Срок бана</th><th>Причина</th></tr>'; 
   
    $i = 1;
    foreach ($a as $s)
	{
      echo '<tr><td>', $i++, '</td><td>',
           implode('</td><td>', array_slice(explode(' ', $s), 0,2,4)),
           '</td></tr>';
    }
      echo '</table>';
?>

как разделитель указываю пробел, но в этом файле в "причинах бана" пробелы встречаются и таблица некорректно строится.

 

Утилы DaRT и EPM Rcon Tool также выстраивают таблицы из этого файла. Может кто сведущ в данном вопросе и подскажет каким макаром таблицу выстроить?

 

Помогло?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


пропарси строки, без explode

ПЕРВЫЙ пробел - GUID

ВТОРОЙ пробел - срок

Все что осталось - описание.

Юзани strpos

Вырезал с 1

Вырезал со 2

Оставшееся прикрепил как - "Причина".

 

Хотя... Можно и с explode - брать 1 элемент как UID, второй как Срок, оставшиеся элементы массива строки выводить со 2 по последний(count), склеивая с пробелами.

Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Бьюсь над построением таблицы из файла bans.txt (хочу добавить список банов на страницу статистики своего сервера) Но пока не удается получить желаемый результат. Использую такой код:

<?php
    $a = file('C:\Program Files (x86)\Arma 2 Dayz\instance_24_Napf\Battleye\bans.txt');
    echo '<table width="500" border="1"><tr><th>№</th><th>guid</th><th>Срок бана</th><th>Причина</th></tr>'; 
   
    $i = 1;
    foreach ($a as $s)
	{
      echo '<tr><td>', $i++, '</td><td>',
           implode('</td><td>', array_slice(explode(' ', $s), 0,2,4)),
           '</td></tr>';
    }
      echo '</table>';
?>

как разделитель указываю пробел, но в этом файле в "причинах бана" пробелы встречаются и таблица некорректно строится.

 

Утилы DaRT и EPM Rcon Tool также выстраивают таблицы из этого файла. Может кто сведущ в данном вопросе и подскажет каким макаром таблицу выстроить?

у тебя на сайте это просто таймеры? на отключение, рестарт и тд???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Бьюсь над построением таблицы из файла bans.txt (хочу добавить список банов на страницу статистики своего сервера) Но пока не удается получить желаемый результат. Использую такой код:

<?php
    $a = file('C:\Program Files (x86)\Arma 2 Dayz\instance_24_Napf\Battleye\bans.txt');
    echo '<table width="500" border="1"><tr><th>№</th><th>guid</th><th>Срок бана</th><th>Причина</th></tr>'; 
   
    $i = 1;
    foreach ($a as $s)
	{
      echo '<tr><td>', $i++, '</td><td>',
           implode('</td><td>', array_slice(explode(' ', $s), 0,2,4)),
           '</td></tr>';
    }
      echo '</table>';
?>

как разделитель указываю пробел, но в этом файле в "причинах бана" пробелы встречаются и таблица некорректно строится.

 

Утилы DaRT и EPM Rcon Tool также выстраивают таблицы из этого файла. Может кто сведущ в данном вопросе и подскажет каким макаром таблицу выстроить?

у тебя на сайте это просто таймеры? на отключение, рестарт и тд???

у метя тауреновский батник+шредулер бека+диспетчер задач windows отвечают за автоматическую работу сервера, а таймеры на сайте синхронизированы по времени с хост-машиной, поскольку и сервер и сайт на одной машине находятся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Бьюсь над построением таблицы из файла bans.txt (хочу добавить список банов на страницу статистики своего сервера) Но пока не удается получить желаемый результат. Использую такой код:

<?php
    $a = file('C:\Program Files (x86)\Arma 2 Dayz\instance_24_Napf\Battleye\bans.txt');
    echo '<table width="500" border="1"><tr><th>№</th><th>guid</th><th>Срок бана</th><th>Причина</th></tr>'; 
   
    $i = 1;
    foreach ($a as $s)
	{
      echo '<tr><td>', $i++, '</td><td>',
           implode('</td><td>', array_slice(explode(' ', $s), 0,2,4)),
           '</td></tr>';
    }
      echo '</table>';
?>

как разделитель указываю пробел, но в этом файле в "причинах бана" пробелы встречаются и таблица некорректно строится.

 

Утилы DaRT и EPM Rcon Tool также выстраивают таблицы из этого файла. Может кто сведущ в данном вопросе и подскажет каким макаром таблицу выстроить?

 

Вот накидал за 2 минуты готовое решение. Меняй как вздумается

 

<?php
echo "<head><meta charset='utf8'></head><body>"; //Кодировка - выставь какая надо
$file = file('bans.txt');
foreach($file as $row) // Разбиваем по одной строке 
{     
    $row_array = explode(' ', $row); // Експлодим в массив строку. guid = [0], время = [1], причина = [3]-*     
    echo "<table>";
    echo "<tr>";    
     echo "<td>".$row_array[0]."</td>"; // guid    
     echo "<td>".$row_array[1]."</td>"; // время     
    $i = 2; //начинаем со второго елемента     
    $row = ''; //создаем пустую переменную    
     while(@$row_array[$i]) // Пока не кончились слова обьяснения      
    {    
        $row .= ' '.$row_array[$i]; // дописываем их в строку через пробел      
        $i++; // И идем на следующий елемент    
     }         
    echo "<td>".$row."</td>";     
    echo "</tr>";  
    echo "</table>"; 
} ?>  
 

 

 

Изменено пользователем NEMO (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в общем забил я на заморочки с таблицей и  сделал чтобы тупо список как и в bans.txt выводился, так что можете себе копировать и банить на своих серверах тех же упырей :laugh:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: NoNameUltima
      PHP Скрипт вытягивания объектов из БД.
      Автор: Я
      Описание работы:
      Вы можете построить на тестовом сервере, базу, или несколько баз и т.п.
      После этого данный скрипт позволяет вытянуть из БД все ваши постройки, уже в виде скриптовых объектов ArmA2OA.
      Вам остается только сохранить выдачу из браузера, в необходимый файл, и подключить его.

      Как подключить скрипт:
          *Подключение скрипта для Denwer(для XAMPP практически тоже самое):
              Откройте папку home, по пути где у вас установлен Denwer,( Пример: - C:\Web\home\ )         Скопируйте по данному пути, папку:             ultima_epoch_grabber.sc         Перезапустите Denwer         Можете пользоватся!
      *При необходимости, не забудьте настроить доступ к БД и доп. параметры внутри скрипта.
          
      Часть настроек скрипта:
       
          $login     = 'root';                        // Логин БД     $password  = '';                            // Пароль к БД     $bd_name   = 'dayz_epoch';                  // Имя БД     $classnames = 'BMP2_Ambul_INS,WoodFloor_DZ'; // Если надо вытянуть некоторые объекты, перечислите их имена. Если все - оставить пустым!  
      Работа со скриптом:
      Заходим на пустой тестовый сервер. Строим базу. Открываем в браузере страницу:     ultima_epoch_grabber.sc Сохраняем страницу по пути:     ...\@DayZ_Epoch_Server\addons\dayz_server\missions\ВАША_МИССИЯ\mybase.sqf В файле:     ...\@DayZ_Epoch_Server\addons\dayz_server\missions\ВАША_МИССИЯ\mission.sqf В самый низ добавляем строку:   
       
       [] execVM "\z\addons\dayz_server\missions\ВАША_МИССИЯ\mybase.sqf"; Готово. Теперь ваши постройки находятся в скрипте. Базу из БД можно удалить. *Для пользователей DZEU - После сохранения файла, можете прогнать его оптимизатором, для получения более емкого и читабельного кода.

      Цена: 200р.

      Контакты: В подписи.

      Скриншоты: