fp = fopen ($filename,"r+"); $this->filename = $filename; } function existsUser ($usr_ID) { rewind($this->fp); while (feof($this->fp) == 0) { $line = chop(fgets($this->fp,1000));] $arr = split(":", $line); if ($arr[0] == $usr_ID) { return 1; } else { return 0; } } } function getFileSize() { return (filesize($this->filename)); } function write_temp ($contents) { echo "
$contents
"; $temp_filename = tempnam ("/tmp", "php_"); echo "
$temp_filename
"; $temp_fp = fopen($temp_filename, w); fwrite($temp_fp, $contents); fclose($temp_fp); fclose($this->fp); copy ($temp_filename, $this->filename); $this->fp = fopen($this->filename, "r+"); //unlink($temp_filename); } function addUser ($usr_ID, $usr_passwd) { rewind($this->fp); $contents = fread($this->fp, $this->getFileSize()); echo "
bevor $contents
"; $contents .= "$usr_ID:".crypt($usr_passwd)."\n"; echo "
danach $contents
"; $this->write_temp($contents); } function deleteUser ($usr_ID) { $contents = ""; rewind($this->fp); while (feof($this->fp) == 0) { $line = ""; $line = chop(fgets($this->fp,1000)); $arr = split(":", $line); if ($arr[0] != $usr_ID) { echo $arr[0] ." ist nicht gleich ". $usr_ID; $contents .= $line . "\n"; } } echo "
$contents
"; $contents = chop ($contents); $contents .= "\n"; // kind a tricky $this->write_temp($contents); } function updateUser ($usr_ID, $usr_passwd) { $this->deleteUser($usr_ID); $this->addUser($usr_ID,$usr_passwd); } } ?> Exemplo: addUser($usr_ID, $usr_passwd); //$pw->deleteUser($usr_ID); $pw->updateUser($usr_ID, $usr_passwd); ?>