Bilder-Resize und Caching

afoeder

New member
Hallo zusammen,

ich habe den üblichen Bedarf, ein vorhandenes Originalbild ggf. zu resizen und auszugeben. Sofern resized werden muss, soll das Bild gecached werden.

Die erste Frage also: gibt es hier eine *gute* fertige Klasse?

Alles was ich selbst bisher gefunden habe verfolgte den Ansatz, das Originalbild dann mit Anhang z.B. "urlaub_w180h120.jpg" abzulegen und ggf. so wieder auszulesen.

Da ich mich aber nicht auf Dateinamen verlassen möchte; ferner alles in einem tmp-Verzeichnis ablegen möchte und außerdem vielleicht noch weitere Parameter pflegen will, komme ich vermutlich nicht um eine DB-Unterstützung herum.

Eine Tabelle sollte reichen, in der eine uid, der Bilddateiname, der Verweis zur "original-bild-uid", die Breite, die Höhe, "is_aspect_ratio (0|1)" (ob das Bild im richtigen Aspect ratio daliegt", creationtimestamp, last_usage_timestamp.
Fällt mir momentan so ein.

Ruft man nun "gib mir bild 'ich_mit_hirschgeweih.jpg' in der Breite 180" in das Script hinein, guckt es in der Datenbank zuerstmal nach Bilddateiname = 'ich_mit_hirschgeweih'.
Davon holt es sich die UID und guckt in derselben Tabelle nach allen Bildern, die 'original-bild-uid' entsprechend haben.
Von alldiesen (und dem originalbild) wird dann nach dem feld breite=180 geschaut und is_aspect_ratio=1, da wir nur die Breite angegeben haben und somit die Aspect ratio auf jeden fall gegeben sein soll.
Wenn nichts passendes gefunden wurde, dann wird das Bild eben erstellt und ein Eintrag für das neue Bild in der DB abgelegt, außerdem der Filename des eben erstellen Bilds zurückgegeben. Bei Rückgabe eines Filenames aus der Datenbank wird dann auch last_usage_timestamp aktualisiert.

Wenn man dann möchte, kann man created_timestamp und last_usage_timestamp dazu verwenden, die gecachten Bilder aufzuräumen.



--> hm; die Konzeption habe ich ja schon; kann ich's gleich selbst programmieren :)

aber: kennt jemand ein fertiges Script in ähnlichem Leistungsumfang?


Danke!!
Adrian
 
Zurück
Oben