robiotor
21-06-2004, 20:20
ich möchte aus der datei trust-users die zeile wo robiotor steht löschen. die datei enthält in jedr zeile nur ein namen. was mache ich hier falsch ?
// Shared lock auf die Quelldatei
$oldfile = "trusted-users";
$zielzeile = "robiotor";
$old = fopen($oldfile, "r");
flock($old, 1) or die("Kann die Quelldatei $oldfile nicht locken.");
// Exclusive lock auf die Zieldatei
$new = fopen($oldfile.".new", "w");
flock($new, 2) or die("Kann die Zieldatei $newfile nicht locken.");
$lineno = 0;
while($line = fgets($old, 1024)) {
if ($lineno++ == $zielzeile)
continue; // Zeile auslassen
fputs($new, $line);
}
fclose($old); // Gibt das Lock automatisch auf
// Alte Datei wegwerfen.
unlink($oldfile);
// Neue Datei umbenennen.
// (In Windows müssen das rename() und das fclose($new)
// vertauscht werden, da es nicht möglich ist, in Windows
// eine offene Datei umzubenennen.
rename($oldfile.".new", $oldfile);
// Neue Datei schließen und dabei Lock aufgeben.
fclose($new);
// Shared lock auf die Quelldatei
$oldfile = "trusted-users";
$zielzeile = "robiotor";
$old = fopen($oldfile, "r");
flock($old, 1) or die("Kann die Quelldatei $oldfile nicht locken.");
// Exclusive lock auf die Zieldatei
$new = fopen($oldfile.".new", "w");
flock($new, 2) or die("Kann die Zieldatei $newfile nicht locken.");
$lineno = 0;
while($line = fgets($old, 1024)) {
if ($lineno++ == $zielzeile)
continue; // Zeile auslassen
fputs($new, $line);
}
fclose($old); // Gibt das Lock automatisch auf
// Alte Datei wegwerfen.
unlink($oldfile);
// Neue Datei umbenennen.
// (In Windows müssen das rename() und das fclose($new)
// vertauscht werden, da es nicht möglich ist, in Windows
// eine offene Datei umzubenennen.
rename($oldfile.".new", $oldfile);
// Neue Datei schließen und dabei Lock aufgeben.
fclose($new);