Ich gewöhne mich an PHP und versuche, eine Zeile aus einer Datei zu entfernen (falls vorhanden) und die Datei erneut zu speichern.Entfernen Sie eine Zeile aus der Datei, wenn sie existiert
Also, wenn ich die Datei hatte
user1
user2
user3
user4
I
if(existsAndRemove("user3")){
do thing
}
verwenden könnte ich versucht habe Code ähnlich dem folgenden Code, aber es manchmal Fehler und wird nur eine Zeile entfernen, wenn Es ist das letzte in der Datei. Ich habe keine Ahnung, wie ich das beheben kann.
$data2 = file("./ats.txt");
$out2 = array();
foreach($data2 as $line2) {
if(trim($line2) != $acc) {
$out2[] = $line2;
}
}
$fp2 = fopen("./ats.txt", "w+");
flock($fp2, LOCK_EX);
foreach($out2 as $line2) {
fwrite($fp2, $line2);
}
flock($fp2, LOCK_UN);
fclose($fp2);
}
}
überhaupt Hilfe sehr geschätzt werden würde, und ich würde auch freuen, wenn Sie auch den Code erklären können, so konnte ich leichter daraus lernen !! Danke.
Die geöffnete Datei überschreiben oder als neue Datei speichern? – Arbels
es sieht so aus, als hätten Sie '$ acc' nicht definiert, dh' $ acc = "user3"; ' – cmorrissey
@Arbels Überschreibt die Datei, sorry. –