Forum Doku Wiki Blog

Forumsarchiv 2012, April
Falsche Mail kommt an

archivierte Beiträge lesen

  1. (PHP) Falsche Mail kommt an von Ferdi, 04. 04. 2012, 21:07

Falsche Mail kommt an

Der folgende Beitrag wurde am 04. 04. 2012, 21:07 Uhr von Ferdi veröffentlicht.

Hallo Forum,

Pseudocode:

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
} else {
- Schick Mail
}
}
-Funktionsaufruf

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

Falsche Mail kommt an

Der folgende Beitrag wurde am 04. 04. 2012, 22:45 Uhr von Vinzenz Mai veröffentlicht.

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

Falsche Mail kommt an

Der folgende Beitrag wurde am 05. 04. 2012, 10:35 Uhr von Tabellenkalk veröffentlicht.

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

Falsche Mail kommt an

Der folgende Beitrag wurde am 05. 04. 2012, 11:23 Uhr von Vinzenz Mai veröffentlicht.

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?

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

Falsche Mail kommt an

Der folgende Beitrag wurde am 05. 04. 2012, 11:07 Uhr von Ferdi veröffentlicht.

> 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

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4