Hallo,
danke für deine Antwort. Das ist klar, jetzt ist mir nur noch nicht klar wie das PHP Skript die richtige Zeile findet und ersetzt, also mit welcher Funktion. Damit Dateien zu ändern hatte ich leider schon genug Probleme^^
Auch wenn eddis Methode viel schöner ist ist sie vielleicht nicht ganz so einfach nachzuvollziehen, deshalb mal ein anderer Ansatz:
$pwFile = '/home/web518/passwords/.htpasswd_gal12'
$zeilen = file($pwFile); // liest die komplette Passwortdatei in ein Array
for($z = 0; $z <= count($zeilen); $z++) { // wir machen einen Schleifendurchgang, für jede einzelne Zeile der Datei
list($username, $password) = explode($zeilen[$z], ':'); // hier zerteilen wir die einzelne Zeile an der Stelle
// wo der Doppelpunkt
// ist und speichern sie in zwei Variablen
if($_ENV['REMOTE_USER'] == $username) { // wenn die Zeile mit dem gerade angemeldeten User übereinstimmt
$zeilen[$z] = $username.':'.$neuesPasswort; // hierwird die Zeile im Array einfach komplett ausgetauscht
break; // da der Username nur einmal vorkommen darf brechen wir die schleife nach dem ändern ab
{
}
file_puts_content($pwFile, $zeilen); // Datei mit der neuen überschreiben
// oder falls man kein PHP5 zur Verfügung hat:
# $handle = fopen($pwFile, "w");
# fwrite($handle, join($zeilen))
# fclose($handle);
Alles ohne Gewähr und ungetestet, sollte aber theoretisch ungefähr so funktionieren.
Grüße
Jeena Paradies