# скачай весь файл, затем запиши назад
$groups_list = array();
function loadFile($name) {
$fh = fopen($name, 'r');
global $groups_list;
while ($l = fgets($fh)) {
($p = strpos($l, ':')) === false and die('Invalid record');
$groupname = trim(substr($l, 0, $p));
$userslist = preg_split('/\s+/', trim(substr($l, $p + 1)));
$groups_list[$groupname] = &$userslist;
}
fclose($fh);
}
function addUser($group, $user) {
gloabl $groups_list;
$l = &$groups_list[$group];
in_array($user, $l) or $l[] = $user;
}
function storeFile($name) {
$fh = fopen($name, 'w');
global $groups_list;
for ($groups_list as $k => $v)
fputs($fh, $k.': '.implode(' ', $v));
fclose($fh);
}
loadFile('groups');
# some stuff with addUser()
storeFile('groups');
# NO WARRANTY - набрал на месте