[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сопоставление двух txt файлов
Xsfd
Здравствуйте. Собственно сначала расскажу цель.
Делаю мониторинг серверов игры MW2, хочу прикрутить к нему проверку по античиту.
Для этого мне нужно чтобы при нажатии на ник игрока происходил переход на сайт античита по его ID.

user posted image

Я пробую решить данную проблему сопоставив 2 txt файла.

Например содержимое 1-го файла (cheater.txt):

Gamer1
Gamer2
Gamer3
Gamer4


Cодержимое 2-го файла (xuid.txt):

xuid1
xuid2
xuid3
xuid4


Нужно реализовать так, чтобы при нажатии на ник открывалась ссыла с его XUID.
Например нажимаем на Gamer1, открывается ссылка с xuid1 и т.д.

Собственно как пытаюсь реализовать:

<?php
$cheater = file_get_contents("cheater.txt", true);
$cheater = str_replace("\r", "", $cheater);
$cheater = explode("\n", $cheater);

$xuid = file_get_contents("xuid.txt", true);
$xuid = str_replace("\r", "", $xuid);
$xuid = explode("\n", $xuid);



if (in_array($player['name'], $cheater)) { $player['name'] = "<a href="$xuid"><font color='red' title='ОБНАРУЖЕНЫ ЧИТЫ'><s>{$player['name']}</s></font></a>"; }
else {
?>


В итоге вместо ссылки получаю слово Array

Подскажите пожалуйста всё ли я правильно делаю и может есть какой нибудь более простой способ?



Спустя 7 минут, 59 секунд (8.04.2012 - 20:57) nugle написал(а):
Xsfd
$xuid это массив, тебе нужно доставать $xuid по имени игрока или по его id

Спустя 26 минут, 42 секунды (8.04.2012 - 21:24) Xsfd написал(а):
Я достаю имя игрока по массиву $cheater.
Грубо говоря мне нужно сделать ссылку:

<a href='http://dot.zapto.org/$xuid'>НИК</a>

как вытащить ник я понял, но вот как сделать так чтобы к определённому нику привязывался определённый id из дугого txt

Спустя 14 минут, 8 секунд (8.04.2012 - 21:38) Игорь_Vasinsky написал(а):
ты фигнёй не страдай. ты ещё создай для каждого юзера по паре файлов и сопоставляй.

1 файл users.txt

user1:::xuid1
user2:::xuid2
user3:::xuid3

Грубо говоря.

$users = file('users.txt');

foreach($users as $user)
{
$user = explode(':::', $user);

echo '<a href="....?id='.$user[1].'">'.$user[0].'</a><br/>';
}

Спустя 35 минут, 26 секунд (8.04.2012 - 22:13) Xsfd написал(а):
Спасибо. Работает. Как только наберу 10 сообщений, обязательно поставлю плюсик))

P.S. ещё бе с пингом помогли smile.gif

Спустя 20 минут, 31 секунда (8.04.2012 - 22:34) Xsfd написал(а):
Возникла проблемка. Код выводит только того, кто идёт самым последним в списке.



$cheaters = file('plugins/chitID/cheater.txt');
foreach($cheaters as $cheater)
{
$cheater = explode(':::', $cheater);
}

if (in_array($player['name'], $cheater))
{ $player['name'] = "<a href='{$lgsl_config['text']['aci']}".$cheater[1]."'><font color='red' title='aCI Banned'><s>{$player['name']}</s></font></a>"; }


Спустя 3 минуты, 30 секунд (8.04.2012 - 22:37) Игорь_Vasinsky написал(а):
<?php
$cheaters = file('plugins/chitID/cheater.txt');
foreach($cheaters as $cheater)
{
$cheater = explode(':::', $cheater);

if (in_array($player['name'], $cheater))
echo $player['name'] = "<a href='{$lgsl_config['text']['aci']}".$cheater[1]."'>
<font color='red' title='aCI Banned'><s>
{$player['name']}</s></font></a><br />";
}


?>

Спустя 23 минуты, 17 секунд (8.04.2012 - 23:01) Xsfd написал(а):
Всё равно что-то не то делаю. Вообще все пропало.
Вот как выглядит оригинал куда ужно вставит:

      foreach ($server['p'] as $player_key => $player)
{
echo "
<tr>"
;


foreach ($fields as $field)
{





if (in_array($player['name'], $admin)) { $player['name'] = "<font color='#00FF00' title='Администратор сервера'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $cheater))
{ $player['name'] = "<a href='{$lgsl_config['text']['aci']}".$cheater[1]."'>
<font color='red' title='aCI Banned'><s>
{$player['name']}</s></font></a><br />";}


else { $player['name'] = "<font title='Игрок'>{$player['name']}</font>";


}



foreach в foreach не встаёт

Спустя 8 минут, 14 секунд (8.04.2012 - 23:09) Игорь_Vasinsky написал(а):
echo - выводит контент сгенерированный php на страницу для пользователя.

Спустя 54 секунды (8.04.2012 - 23:10) Игорь_Vasinsky написал(а):
у тя фигурных скобок по паре для циклов?

Спустя 2 минуты, 28 секунд (8.04.2012 - 23:12) Xsfd написал(а):
да. Вот как выглядит вся страница

<?php

include "plugins/grouplist.txt";

//-------------------------------------------------------------------------------------------------- ----------+
include "lgsl_config.php";
require "lgsl_class.php";

//-------------------------------------------------------------------------------------------------- ----------+
// THIS CONTROLS HOW THE PLAYER FIELDS ARE DISPLAYED


$fields_show = array("name", "score", "kills", "deaths", "team", "ping", "bot", "time"); // ORDERED FIRST
$fields_hide = array("teamindex", "pid", "pbguid"); // REMOVED
$fields_other = TRUE; // FALSE TO ONLY SHOW FIELDS IN $fields_show

//-------------------------------------------------------------------------------------------------- ----------+
// GET THE SERVER DETAILS AND PREPARE IT FOR DISPLAY


$s = $_GET['s'];

$lgsl_server_id = $_GET['s'];
global $lgsl_server_id;

$server = lgsl_query_cached("", "", "", "", "", "sep", $lgsl_server_id);

if (!$server) { echo "<div style='margin:auto; text-align:left'> {$lgsl_config['text']['mid']} </div>"; return; }

$fields = lgsl_sort_fields($server, $fields_show, $fields_hide, $fields_other);
$server = lgsl_sort_players($server);
$server = lgsl_sort_extras($server);
$misc = lgsl_server_misc($server);
$server = lgsl_server_html($server);

echo "
<div style='color: grey; background-color: #303030; border-radius:7px; box-shadow:0 0 7px; margin:auto; overflow:auto; text-align:left; padding:10px'>"
;

if (empty($server['p']) || !is_array($server['p']))
{
echo "
<table cellpadding='4' cellspacing='2' style='margin:auto'>
<tr>
<td>
{$lgsl_config['text']['npi']} </td>
</tr>
</table></div>"
;
}
else
{
echo "
<table cellpadding='4' cellspacing='2' style='margin:auto' width='400px'>
<tr>"
;


foreach ($fields as $field)
{
$field = ucfirst($field);

if ($field == 'Name') { $field = 'Игрок'; }
elseif ($field == 'Ping') { $field = 'Пинг'; }
elseif ($field == 'Score') { $field = 'Фраги'; }
elseif ($field == 'Kills') { $field = 'Убил'; }
elseif ($field == 'Deaths') { $field = 'Умер'; }
elseif ($field == 'Squad') { $field = 'Отряд'; }
elseif ($field == 'Team') { $field = 'Комманда'; }
elseif ($field == 'Time') { $field = 'Время'; }

echo "
<td class='forumheader3' style='color:#EF7A05;padding:5px'> <b>
{$field}</b> </td>";
}

echo "
</tr>"
;

foreach ($server['p'] as $player_key => $player)
{
echo "
<tr>"
;


foreach ($fields as $field)
{



if (in_array($player['name'], $admin)) { $player['name'] = "<font color='#00FF00' title='Администратор сервера'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $gamer)) { $player['name'] = "<font color='#ffa600' title='Продвинутый игрок'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $elit)) { $player['name'] = "<font color='#009eff' title='Элита'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $inf)) { $player['name'] = "<font color='#009eff' title='Клан INFRACTION'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $nest)) { $player['name'] = "<font color='blue' title='Клан NEST'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $che)) { $player['name'] = "<font color='#ff0000' title='Клан Che Guevara'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $b2w)) { $player['name'] = "<font color='#ff00ff' title='Клан Between II World'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $de)) { $player['name'] = "<font color='chocolate' title='Клан Dark Elite'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $snb)) { $player['name'] = "<font color='darkgreen' title='Клан Steel and Blood'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $iw4)) { $player['name'] = "<font color='SpringGreen' title='Клан IW4mp SQUAD'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $hw)) { $player['name'] = "<font color='Firebrick' title='Клан HELL WARS'>{$player['name']}</font>"; }
elseif (in_array($player['name'], $suspicion)) { $player['name'] = "<font color='#f36223' title='Подозрительный игрок'><u>{$player['name']}</u></font>"; }
elseif (in_array($player['name'], $cheater))
{ $player['name'] = "<a href='{$lgsl_config['text']['aci']}".$cheater[1]."'> <font color='red' title='aCI Banned'><s>{$player['name']}</s></font></a><br />";}

else { $player['name'] = "<font title='Игрок'>{$player['name']}</font>";






}
echo "<td>{$player[$field]}</td>";
}

echo "
</tr>"
;
}

echo "
</table> </div>"
;
}

Спустя 2 часа, 17 минут, 16 секунд (9.04.2012 - 01:29) Xsfd написал(а):
У меня вообще не выходит...

FOREACH не встаёт в IF

Спустя 1 час, 24 минуты, 36 секунд (9.04.2012 - 02:54) Xsfd написал(а):
Что-то с переменной
$cheater = explode(':::', $cheater);

Она не переводит строку. хотя на сколько я слышал должна

Спустя 1 месяц, 11 часов, 47 минут, 59 секунд (9.05.2012 - 14:42) Xsfd написал(а):
Блин, щас вернулся к данному вопросу и всё равно понять не могу как сделать так, чтобы читалась не только первая строчка
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.