Vinzenz Mai: Falsche Mail kommt an

Beitrag lesen

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