Hallo,
ich habe ein Problem....
Ich möchte aus einer Datei die oft gleichzeitig im Lesezugriff von anderen ist eine einzelne Zeile löschen (mögliche Speere ?). Es wird aber leider immer die ganze Datei geleert.
Kann mir da jemand helfen... bzw vielleicht gibt es ja eine besser Methode eine Zeile rauszuschmeisen ?
$regex ist der Zeileninhalt
$file hat die Rechte 777
Hier mal mein Code:
Gruß Thomas
ich habe ein Problem....
Ich möchte aus einer Datei die oft gleichzeitig im Lesezugriff von anderen ist eine einzelne Zeile löschen (mögliche Speere ?). Es wird aber leider immer die ganze Datei geleert.
Kann mir da jemand helfen... bzw vielleicht gibt es ja eine besser Methode eine Zeile rauszuschmeisen ?
$regex ist der Zeileninhalt
$file hat die Rechte 777
Hier mal mein Code:
PHP-Code:
function remove_line_from_file ($file, $regex) {
$fp = fopen("$file",'r');
$new_fp = fopen("temp_file", "w");
while ($line = fgets($fp,255)) {
if (!ereg($regex,$line)) {
fwrite($new_fp, $line);
}
}
fclose($fp);
fclose($new_fp);
$fp = fopen("$file",'w');
$new_fp = fopen("temp_file", "r");
while ($line = fgets($new_fp,255)) {
fwrite($fp, $line);
}
fclose($fp);
fclose($new_fp);
unlink("temp_file");
}
Kommentar