function appendValue($key, $value) {
$filepath = "./config.txt"; // путь к файлу
if (!file_exists($filepath)) throw "File not found";
$divider = PHP_EOL; // разделитель строк
$rows = explode($divider, file_get_contents($filepath));
$tmpfname = tempnam(sys_get_temp_dir(), 'Toster');
$fh = fopen($tmpfname, 'w');
$replaced = 0;
foreach($rows as $row) {
$data = explode(':', $row);
if (0 === count($data)) continue;
if ($data[0] == $key) {
array_push($data, $value);
$row = implode(':', $data);
$replaced++;
}
fputs($fh, $row . $divider);
}
fclose($fh);
// поменять файлы местами
unlink($filepath);
rename($tmpfname, $filepath);
return $replaced; // кол-во обновлённых строк. Вдруг, неуникален индекс?
}
appendValue(2, 33);