- Автор темы
- #1
Я создал скрипт, который записывает в файл название карты и количество раз ее появления (мониторинг серверов). Данный скрипт проверяет текущую карту, если ее нету в списке оно добавляет строку, если есть, то скрипт удаляет данную строку и вместо нее записывает точно такую же, только увеличивает на 1 количество раз.
Проблема вот в чем(показываю содержимое самого файла .txt) :
Вот сам скрипт:
То есть скрипт при прохождении по файлу (к примеру текущая карта "de_dust2"), видит совпадение и должен увеличить число (['zm_chaves2_click21',1],), а он иногда увеличивает, а иногда при совпадении повторяет строку
Проблема вот в чем(показываю содержимое самого файла .txt) :
Код:
['zm_mansion_mba',3],
['zm_dust2snow_2011',1],
['zm_303',13],
['zm_3rooms',7],
['zm_nuke',9],
['zm_fdust2x2',2],
['zm_fdust2x2',2],
['zm_fdust2x2',2],
['zm_inferno',8],
['zm_china',20],
['zm_chaves2_click21',1],
['zm_chaves2_click21',1],
['zm_chaves2_click21',1],
['zm_chaves2_click21',1],
['zm_chaves2_click21',2],
['zm_chaves2_click21',1],
['zm_chaves2_click21',1],
['zm_chaves2_click21',1],
['zm_chaves2_click21',1],
['cs_italy32',11],
Вот сам скрипт:
Код:
$map = "/* карта определяеться другим скриптом, но он 100% рабочий */";
$file_map = file("map/".$id.".txt");
for ($a = 0; $a < count($file_map); $a++)
{
$count_map = substr($file_map[$a], 2);
$count_map = explode("',", $count_map);
if ($count_map[0] == $map)
{
unset($file_map[$a]);
$map_count = substr($count_map[1], 0, -3);
file_put_contents("map/".$id.".txt", implode("", $file_map));
$map_count++;
file_put_contents("map/".$id.".txt", file_get_contents("map/".$id.".txt")."['".$map."',".$map_count."],\n");
}
else
{
file_put_contents("map/".$id.".txt", file_get_contents("map/".$id.".txt")."['".$map."',1],\n"); //$id - это номер сервера
}
}
То есть скрипт при прохождении по файлу (к примеру текущая карта "de_dust2"), видит совпадение и должен увеличить число (['zm_chaves2_click21',1],), а он иногда увеличивает, а иногда при совпадении повторяет строку
Последнее редактирование: