Hi Guys,
I’m trying to write to a .htpass file. I find sometimes certain users are missing sometimes even though they were not removed. Anybody know why?
Is there a limit on the array? My code is below.
[code=php]
case ‘ADD_USER’:
$userArray = trim_array(getUserArray($pass_file ));
$userArray[$username] = crypt($password);
writeToFile($pass_file, $userArray );
break;
case ‘DELETE_USER’:
$userArray = trim_array(getUserArray($pass_file ));
unset($userArray[$username]);
writeToFile($pass_file, $userArray );
break;
[code=php]function getUserArray( $ht_file )
{
$userArray = array();
foreach( file($ht_file) as $line ) {
list($username, $password) = explode( ‘:’, $line, 2 );
$userArray[$username] = $password;
}
return $userArray;
}
function writeToFile( $ht_file, $userArray ) {
$f = fopen($ht_file, “w”) or die( “ERROR: unable to open ” );
flock( $f, LOCK_EX ) or die( “ERROR: unable to lock file ” );
foreach( $userArray as $username => $password ) {
fwrite( $f, “$username:$passwordn”) or die( “ERROR: unable to write” );
}
flock( $f, LOCK_UN ) or die( “ERROR: unable to release file” );
fclose($f);
}