Falsche Mail kommt an
Ferdi
- php
2 Vinzenz Mai0 Tabellenkalk0 Ferdi
Hallo Forum,
Pseudocode:
function check {
Frage: Wie bekomme ich das array: $array_del_files in die 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??
Gruß, Ferdi
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
Hallo
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
soll der Name auch entfernt werden, wenn das Löschen nicht erfolgreich war?
Gruß
Kalk
Hallo,
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 Dateiensoll der Name auch entfernt werden, wenn das Löschen nicht erfolgreich war?
ja.
Vermutlich wird der nächste Versuch zu löschen wieder scheitern, und wieder scheitern und wieder scheitern. Besser, es gar nicht erst erneut zu versuchen. Siehe verlinkter Archivbeitrag.
Wenn die Liste leer ist, sollte die Schleife übrigens auch beendet werden ...
Freundliche Grüße
Vinzenz
siehe auch </archiv/2012/3/t209433/#m1425405> ;-)
Hallo Vinzenz,
ah, da iste er ja. Ich hab den gesucht, aber nicht mehr gefunden.
Ah, jetzt versteh ich erst, was Du Kurt seinerzeit sagen wolltet. Klar, die Rekursion ist völlig überfüssig.
Habs soeben umgestrickt und es läuft wunderbar.
Danke für den Denkanstoß, Ferdi