Hallo,
function check {
- Verzeichnissgröße prüfen
if ($gesamtgroesse > $max_size) {- älteste Datei löschen
- Dateinamen (der gel. Datei) in array $array_del_files packen
- Funktion check wieder aufrufen
das ist ein denkbar ungünstiges Vorgehen!
} else {
- Schick Mail
}
}
Ich wäre ja auch bereit, die Mail nicht aus der Funktin heraus, sondern aus dem Hauptscript zu schicken, dennoch bleibt auch hier die Frage, wie bekomme ich das array in die Mail??
mit einer einfacheren, arbeits-, speicher- und nervenschonenderen Vorgehenweise mit einer simplen Schleife ohne überflüssige Rekursion, die Dein Problem nur viel komplizierter macht:
initialisiere leeres Array der gelöschten Dateien
Sortiere die Dateien nach dem Alter absteigend
Solange Gesamtgröße > Maximalgrösse
Ermittle Größe der ältesten Datei
Lösche älteste Datei
Falls Löschen erfolgreich war
Hänge Dateinamen an Liste der gelöschten Dateien an
Reduziere Gesamtgröße um Größe der gelöschten Datei
Ende Falls
Entferne Dateiname aus Liste der Dateien
Ende Solange
Schicke Mail mit dem Array der gelöschten Dateien
siehe auch </archiv/2012/3/t209433/#m1425405> ;-)
Freundliche Grüße
Vinzenz