PHP: Zeile mit bestimmtem Inhalt komplett Löschen
Hallo,
ich habe folgendes Problem:
Ich habe ein Dateisystem programmiert, in dem alle Dateinamen in einer Datei aufgezeichnet sind. Aus dieser Datei werden die Namen später wieder ausgelesen. Wenn jetzt aber der Wunsch besteht, eine Datei zu Löschen, muss nicht nur die Datei an sich gelöscht werden, sondern auch der Eintrag in der Datei... Das ist mein Problem.
Ich habe vieles Probiert. leider hat nichts geklappt.
die Einzelnen Zeilen sollen Komplett gelöscht werden und sehen so aus:
Mir währe wichtig, dass erstmal nur Dateiname und Username abgefragt werden. Also das es egal ist was dahinter steht. (In diesem Fall: |27.9.2013|USERNAME1,USERNAME2,USERNAME3)
Verstanden?
Tschau,
B-Free
ich habe folgendes Problem:
Ich habe ein Dateisystem programmiert, in dem alle Dateinamen in einer Datei aufgezeichnet sind. Aus dieser Datei werden die Namen später wieder ausgelesen. Wenn jetzt aber der Wunsch besteht, eine Datei zu Löschen, muss nicht nur die Datei an sich gelöscht werden, sondern auch der Eintrag in der Datei... Das ist mein Problem.
Ich habe vieles Probiert. leider hat nichts geklappt.
die Einzelnen Zeilen sollen Komplett gelöscht werden und sehen so aus:
Bildschirmfoto vom 2013-09-27 10:07:15.png|USERNAME|27.9.2013|USERNAME1,USERNAME2,USERNAME3
Mir währe wichtig, dass erstmal nur Dateiname und Username abgefragt werden. Also das es egal ist was dahinter steht. (In diesem Fall: |27.9.2013|USERNAME1,USERNAME2,USERNAME3)
Verstanden?
Tschau,
B-Free
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219565
Url: https://administrator.de/contentid/219565
Ausgedruckt am: 05.11.2024 um 14:11 Uhr
4 Kommentare
Neuester Kommentar
Hi,
So aus dem Stehgreif ungetestet beispielsweise so:
p.s. Warum machst du sowas nicht mit einer richtigen Datenbank ?
Grüße Uwe
So aus dem Stehgreif ungetestet beispielsweise so:
<?php
$database = "databasefile.txt";
$suchDateiname = 'Testbild.png';
$suchUser = 'USERNAME';
$newFileString = "";
$handle = fopen($database, "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
$parts = preg_split("/\|/", $line);
if (!($parts == $suchDateiname && $parts[1] == $suchUser)){
$newFileString .= $line;
}
}
if (!feof($handle)) {
echo "Error: Unerwarteter fgets() Fehler\n";
}
fclose($handle);
}
$handle = @fopen($database, "w");
fwrite($handle, $newFileString);
fclose($handle);
?>
p.s. Warum machst du sowas nicht mit einer richtigen Datenbank ?
Grüße Uwe