Hi,
preg_replace("/#START#(.*)?#ENDE#/","",$datei);
Alles was zwischen #ANFANG# und #ENDE# ist soll gelöscht werden
dann sollte im Regex nicht #START# stehen, wenn #ANFANG# gemeint ist.
Dein Code-Ausschnitt sieht so aus, als ob Du außerdem das Ergebnis der Ersetzung nicht weiterverwendest, der Rückgabewert von preg_replace wird ja nicht aufgefangen. Die Ersetzung findet also statt, aber das Ergebnis wird weggeworfen.
cu,
Andreas a/k/a MudGuard