Hello Tom,

Thursday, February 27, 2003, 7:39:52 PM, you wrote:

TR> Hi,

TR> Friday, February 28, 2003, 12:20:38 PM, you wrote:

RK>> I really need somebody to help me with this I am totally lost on what
RK>> to do

RK>> I need a way to read the following text file and add to or delete from
RK>> or change the data.
RK>> I have been able to move it all into an array using this code
RK>> $groups= file("group");
RK>> for ($i=0; $i<$number_in_group; $i++){
RK>> $groups[0];
RK>> $groups[3]; <-- this is the part of the array that I need to change
RK>> }
RK>> But I can not figure out how to search the array and delete from or add
RK>> to the array at a given point. I would like to say add another user to
RK>> the end of site6 or delete a user from site3.
RK>> Could somebody give me a hand here. I have read the manual for arrays
RK>> and still can't figure it out.

RK>> site1:x:503:tester1
RK>> site2:x:504:tester2,tester2a
RK>> site3:x:505:tester3,tester3a,tester3b
RK>> site4:x:506:tester4
RK>> site5:x:507:tester5,tester5a,tester5b
RK>> site6:x:508:tester6
RK>> site7:x:509:tester7,tester7a,tester7b  

RK>> -- 
RK>> Best regards,
RK>>  Richard                          mailto:[EMAIL PROTECTED]

TR> your groups array will look like this

TR> groups[0] = site1:x:503:tester1
TR> groups[1] = site2:x:504:tester2,tester2a
TR> so loop through the array

TR> $x = 0;
TR> while(list($key,$val) = each($groups)){

TR> //you need split the array values like this
TR>       list($name,$pass,$gid,$user_list) = split (":", $groups[$x]);
TR>       //see if we have the right one
TR>       if($name = $wanted_name){ //site6
TR>              //then split the usernames into a sub array
TR>              $users = explode(',',$userlist);
TR>              // to add
TR>              $users[] = $newuser;
TR>              // to delete
TR>              unset($users[3])
TR>              // now add it back
TR>              $userlist = implode(',',$users)
TR>              $list = $name.':'.$pass.':'.$gid.':'.$userlist;
TR>              $groups[$x] = $list;
TR>       }
TR>       $x++;
TR>       //here you could fputs to a temp file then copy to the original
TR>       // after finished
TR> }

TR> Then write groups back to disk
TR> -- 
TR> regards,
TR> Tom

Thanks for the help!!

I still can't seam to get it to add a new user at the end of a line of
the selected site name.
Also how do I use the unset($users[3]) do I first have to determine
what number the one I what to delete is.
Here is what I have so far
$newuser="tester45";
$wanted_name="site7";
$groups= file("group");
$x = 0;
while(list($key,$val) = each($groups)){
//you need split the array values like this
 list($name,$pass,$gid,$user_list) = split (":", $groups[$x]);
     //see if we have the right one
         if($name = $wanted_name){ //site6
        //then split the usernames into a sub array
         $users = explode(',',$userlist);
         // to add
                 $users[] = $newuser;
          // to delete
         //unset($users[3]);
         // now add it back
         $userlist = implode(',',$users);
         $list = $name.':'.$pass.':'.$gid.':'.$userlist;
         $groups[$x] = $list;
      }
          
      $x++;
$handle = fopen("group2", 'a');
fputs($handle, $groups[$x]);
          //here you could fputs to a temp file then copy to the original
      // after finished
}
//Then write groups back to disk





-- 
Best regards,
 Richard                            mailto:[EMAIL PROTECTED]


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to