PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

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

> Найдено сообщений: 8
Uint32 Отправлено: 26 Марта, 2020 - 13:07:52 • Тема: Парсинг файла .dat • Форум: Вопросы новичков

Ответов: 5
Просмотров: 574
[quote=Vladimir Kheifets][/quote]

Благодарю. А как на счет 2 вопроса, это я выведу ведь все на 1 машине, а форум находится на другой.
Uint32 Отправлено: 21 Марта, 2020 - 14:13:54 • Тема: Парсинг файла .dat • Форум: Вопросы новичков

Ответов: 5
Просмотров: 574
Никто не знает, подсказать не может ?)
Uint32 Отправлено: 19 Марта, 2020 - 16:53:18 • Тема: Парсинг файла .dat • Форум: Вопросы новичков

Ответов: 5
Просмотров: 574
Вот файл, как-то странно у вас система сделана прикрепления файлов и скринов...
Uint32 Отправлено: 19 Марта, 2020 - 16:50:40 • Тема: Парсинг файла .dat • Форум: Вопросы новичков

Ответов: 5
Просмотров: 574
Добрый вечер всем. Ребзя, нужна ваша помощь.

Имеется сервер, в его директории лежит файл: server.dat. В этот файл заносится информация о статусе, непосредственно самим сервером. Там кол-во пользователей, кол-во созданных каналов и тд. Вот что внутри:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. [STATUS]
  3. Version=1.92.1
  4. Uptime=42 minutes 22 seconds
  5. Users=193
  6. Channels=36
  7. UserAccounts=457
  8. [CHANNELS]
  9. channel1=The Void
  10. channel2=Общий
  11. channel3=Разное
  12.  


И есть пшп-файл( прикладываю его к теме, а так же дублирую ниже), который выводит данные server.dat на форум/сайт.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. // Path to server.dat
  5. $statusfile = '/usr/local/pvpgn/var/status/server.dat';
  6.  
  7. // What info should be shown?
  8. $show = array(
  9.     'STATUS' => true,
  10.     'USERS' => false,
  11.     'GAMES' => false,
  12.     'CHANNELS' => false,
  13. );
  14.  
  15. // Display game icons next to users/games online?
  16. $displayicons = false;
  17.  
  18. // URL of directory containing the game icons.  No trailing slash.
  19. $iconsdir = "/gameicons";
  20.  
  21. // Enable profile links?
  22. $profilelink_enable = true;
  23. $profilelink_url = "/stats/index.php";    // URL to stats
  24.  
  25. // Display the list of users/games/channels side by side rather than in a vertical list?
  26. $sidebyside = false;
  27.  
  28. // Language constants.  Translate into your native language if needed.
  29. $language = array(
  30.     'STATUSDETAIL'   => 'Server Status',
  31.     'USERSDETAIL'    => 'Users currently online',
  32.     'GAMESDETAIL'    => 'Games currently online',
  33.     'CHANNELSDETAIL' => 'Channels currently online',
  34.  
  35.     'Version'        => 'version',
  36.     'Uptime'         => 'Uptime',
  37.     'Users'          => 'Users',
  38.     'Games'          => 'Games',
  39.     'Channels'       => 'Channels',
  40.     'UserAccounts'   => 'User accounts',
  41.    
  42.     'none'           => 'None',
  43. );
  44.  
  45. // ------------------------------------------------------------------------------------------ //
  46. //                                                                                            //
  47. //               Configuration finished, no need to change anything below here                //
  48. //                                                                                            //
  49. // ------------------------------------------------------------------------------------------ //
  50.  
  51.  
  52. function parse_statusfile($filename) {
  53.     $ini_array = array();
  54.     $lines = file($filename);
  55.     foreach($lines as $line) {
  56.         $line = trim($line);
  57.         if ($line == "") {
  58.             continue;
  59.         } else if ($line[0] == "[" && $line[strlen($line) - 1] == "]") {
  60.             $sec_name = substr($line, 1, strlen($line) - 2);
  61.         } else {
  62.             $pos = strpos($line, "=");
  63.             $property = substr($line, 0, $pos);
  64.             $value = substr($line, $pos + 1);
  65.             if ($sec_name == 'USERS' || $sec_name == 'GAMES') {
  66.                 list($ini_array[$sec_name][$property]['ctag'],$ini_array[$sec_name][$property]['name']) = explode(',',$value);
  67.             } else {
  68.                 $ini_array[$sec_name][$property] = $value;
  69.             }
  70.         }
  71.     }
  72.     return $ini_array;
  73. }
  74.  
  75. function namedisplay($user) {
  76.     global $profilelink_enable, $profilelink_url;
  77.     if ($profilelink_enable && $user['ctag'] != 'CHAT') {
  78.         return "<a href=\"".$profilelink_url."?game=".$user['ctag']."&user=".$user['name']."\">".$user['name']."</a>";
  79.     } else {
  80.         return $user['name'];
  81.     }
  82. }
  83.  
  84. $status_array = parse_statusfile($statusfile);
  85.  
  86. if ($sidebyside) {
  87.     $output = "<div>\n";
  88.     foreach ($show as $type => $show) {
  89.         if ($show == true) {
  90.             $output .= "<strong>".$language[$type.'DETAIL']."</strong><br>\n";
  91.             if (empty($status_array[$type])) {
  92.                 $output .= $language['none']."<br><br>\n";
  93.             } else {
  94.                 switch ($type) {
  95.                     case 'STATUS':
  96.                         foreach ($status_array[$type] as $key => $value) {
  97.                             $output .= $language[$key].": ".$value."<br>";
  98.                         }
  99.                         break;
  100.                     case 'USERS':
  101.                         foreach ($status_array[$type] as $key => $value) {
  102.                             $output .= namedisplay($value).",   ";
  103.                         }
  104.                         break;
  105.                     case 'GAMES':
  106.                         foreach ($status_array[$type] as $key => $value) {
  107.                             $output .= $value['name'].",   ";
  108.                         }
  109.                         break;
  110.                     case 'CHANNELS':
  111.                         foreach ($status_array[$type] as $key => $value) {
  112.                             $output .= $value.",   ";
  113.                         }
  114.                         break;
  115.                 }
  116.                 $output = substr($output,0,-4);
  117.                 $output .= "<br><br>\n";
  118.             }
  119.         }
  120.     }
  121. } else {
  122.     $output = "<table cellspacing=\"0\">\n";
  123.     foreach ($show as $type => $show) {
  124.         if ($show == true) {
  125.             $output .= "  <tr>\n";
  126.             $output .= "    <td colspan=\"2\">\n";
  127.             $output .= "      <strong>".$language[$type.'DETAIL']."</strong>\n";
  128.             $output .= "    </td>\n";
  129.             $output .= "  </tr>\n";
  130.             if ($status_array[$type] == true) {
  131.                 foreach ($status_array[$type] as $key => $value) {
  132.                     if ($type == 'STATUS') {
  133.                         $output .= "  <tr>\n";
  134.                         $output .= "    <td colspan=\"2\">\n";
  135.                         $output .= "      ".$language[$key].": ".$value."\n";
  136.                         $output .= "    </td>\n";
  137.                         $output .= "  </tr>\n";
  138.                     } else {
  139.                         $output .= "  <tr>\n";
  140.                         if ($type != 'CHANNELS') {
  141.                             $output .= "    <td width=\"1%\">\n";
  142.                             if ($displayicons)
  143.                                 $output .= "      <img src=\"".$iconsdir."/".$value['ctag'].".jpg\">\n";
  144.                             else
  145.                                 $output .= "      &nbsp;\n";
  146.                             $output .= "    </td>\n";
  147.                             $output .= "    <td>\n";
  148.                             if ($type == 'USERS') {
  149.                                 $output .= "      ".namedisplay($value)."\n";
  150.                             } else {
  151.                                 $output .= "      ".$value['name']."\n";
  152.                             }
  153.                             $output .= "    </td>\n";
  154.                             $output .= "  </tr>\n";
  155.                         } else {
  156.                             $output .= "  <tr>\n";
  157.                             $output .= "    <td colspan=\"2\">\n";
  158.                             $output .= "      ".$value."\n";
  159.                             $output .= "    </td>\n";
  160.                             $output .= "  </tr>\n";
  161.                         }
  162.                     }
  163.                 }
  164.             } else {
  165.                 $output .= "  <tr>\n";
  166.                 $output .= "    <td colspan=\"2\">\n";
  167.                 $output .= "      <strong>".$language['none']."</strong>\n";
  168.                 $output .= "    </td>\n";    
  169.                 $output .= "  </tr>\n";
  170.             }
  171.             $output .= "  <tr>\n";
  172.             $output .= "    <td colspan=\"2\" height=\"7\">\n";
  173.             $output .= "    </td>\n";
  174.             $output .= "  </tr>\n";
  175.         }
  176.     }
  177.     $output .= "</table>\n";
  178. }
  179. echo $output;
  180. ?>
  181.  
  182.  


1. Не могу отрезать лишние строки статуса. Т.е из 5 строк мне нужны только 2, к примеру: Uptime и Version.

2. Файлы status.php и serverd.dat лежат на отдельном сервере впс. И когда я обращаюсь к файлу status.php, набрав айпи впс сервера, он показыает мне статистику, как и должно быть.
Но как мне вывести статистику на странице своего форума? Форум расположен уже на другом сервере(хостинге).

Пытался редактировать файл server.dat, подставляя любое другое слово в скобках, но при перезапуске сервера, этот файл приводится к дефолту. А там где берется строка со знаком "=" и что-то к ней доабвляется - это уже сложно для меня, не врубаюсь честно. Помогите, а то я туплю уже что-то..
Uint32 Отправлено: 31 Мая, 2019 - 10:43:21 • Тема: Апгрейд турнирной сетки • Форум: FreeLance

Ответов: 0
Просмотров: 230
Доброго дня. Ищу человка, который сделает регистрацию(запись) на турнир. Выглядеть должно так: пользователь жмет кнопочку "запись", дальше его ник и другие данные заносятся в опредленную таблицу. Эта основная задача, и есть еще парочка.

Сумма договорная, срок исполнения - 1 месяц, связь - скайп или телеграм.
Uint32 Отправлено: 16 Декабря, 2018 - 00:40:14 • Тема: Турнирная сетка на пшп или пшп+мускл • Форум: FreeLance

Ответов: 2
Просмотров: 481
Приветствую. Предыдущий исполнитель кое-что не доделал, это нужно поправить. Необходимые файлы при мне, сетка была сделана на ява-скрипте или джейквери. В общем нужно сделать в течении недели с имеющимеся файлами, либо с нуля, если вы не разберетесь в его коде. Средство связи указано выше.
Uint32 Отправлено: 04 Ноября, 2018 - 09:19:53 • Тема: Турнирная сетка на пшп или пшп+мускл • Форум: FreeLance

Ответов: 2
Просмотров: 481
Исполнитель нашелся, заказ не актуален.
Uint32 Отправлено: 03 Ноября, 2018 - 18:38:40 • Тема: Турнирная сетка на пшп или пшп+мускл • Форум: FreeLance

Ответов: 2
Просмотров: 481
Добрый вечер. Нужен человек, который напишет код реализации турнирной сетки с формой(желательно методом гет), куда будут вноситься необходимые данные, и затем расчет и строение. Если форма в этой задаче будет являться костылем, предложите свой вариант. Сетка должна строится и заполняться в зависимости от кол-ва участвующих, ну это логично.
Сетка для киберспорта, игры дота.

П.с все стили должны быть в файле, а не в html.

Срок выполнения - +/- месяц.
Оплата безналом. Цена договорная.
Для связи лучше всего подойдет скайп - Sadrakyra.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB