On Tuesday 16 July 2002 22:35, Dave [Hawk-Systems] wrote:

> >> $users[]=$newuser;
> >> # adds the new user to the end of the above created users array
> >> # then write the array to the file
> >> $fd = fopen (".users", "w+");
> >> fwrite ($fd, join("\n",$users));
> >> fclose ($fd);
> >>
> >> the problem is after adding users, only the last user returns the user
> >> name in the array, all the other users have an additional "/n" at the
> >> end of them, which causes the check to barf.
> >
> >Well, if you RTFM, you'll know that file() "returns the file in an array
> > ... with the newline still attached". So one possible solution is after
> > using file(), loop through $users and remove the trailing "\n".
>
> thanks, I am/was looking to avoid looping through the array unnecessarily,
> and simply have them removed at the time of dumping the file into the
> array.

Then use:

  if(in_array($HTTP_SERVER_VARS["REMOTE_USER"] . "\n", $users)) { ... }

BTW, it should be:

  fwrite ($fd, join('', $users));

otherwise each time you write the file out it will have an increasing number 
of "\n" attached to each user.

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

Reply via email to