URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 2631
[ Назад ]

Исходное сообщение
"php работа с файлом"

Отправлено nibelung , 04-Сен-04 11:07 
Драсти
В пхп новичок и юзаю его редко просьба не пинать
Проблема вот какая
Есть файл со следующим содержимым:
каждая строка начинается названием  группы после чего следует двоеточие и перечисление юзеров группы
требуется с помощью пхп добавлять юзеров в выбранную группу
и как сделать чтоб в форме можно было просматривать группы и юзеров
заранее спасибо

Содержание

Сообщения в этом обсуждении
"php работа с файлом"
Отправлено mirya , 04-Сен-04 16:34 
# скачай весь файл, затем запиши назад
$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 - набрал на месте


"php работа с файлом"
Отправлено nibelung , 06-Сен-04 17:44 
огромное спасибо но есть еще пару неясностей и вопросов
что значит вот это  for ($groups_list as $k => $v) (выдает ошибку насчет этой строки)
заранее спасибо


"php работа с файлом"
Отправлено mirya , 06-Сен-04 17:48 
>огромное спасибо но есть еще пару неясностей и вопросов
>что значит вот это  for ($groups_list as $k => $v) (выдает ошибку насчет этой строки)
>заранее спасибо

foreach ($groups_list as $k => $v) # PERLовский синтаксис не к месту