17. März 2023
Bilder mit PHP „on the fly“ verkleinern.
Häufig werden auf Websites Bilder in unterschiedlichen Dateigrößen benötigt. Im Teaser oder in Bildergalerien wird z.B. oft ein Thumbnail verwendet. WordPress bietet zwar von Haus aus verschiedene Bildgrößen an, jedoch sind diese Thumbnails immer auf ein bestimmtes Format beschränkt.
Timthumb ist ein kleines PHP-Skript, dass Bilder „on the fly“ verkleinern kann. Die Syntax ist hierbei fantastisch einfach und das Skript kann sehr einfach in jede Umgebung eingebunden werden.
<img src="inc/timthumb.php?src=img/image.jpg&w=600">
Code-Sprache: HTML, XML (xml)
Timthumb wird also einfach wie ein Image eingebunden. Die eigentliche Bild-URL wird als Parameter angehängt. Mit den Parametern w & h können Breite und Höhe bestimmt werden. Wenn das Seitenverhältnis nicht dem Original entspricht, wird entsprechend gecropped. Das ist z.B. auch sehr praktisch, wenn man quadratische Thumbs erstellen möchte.
Timthumb kann hier runtergeladen werden: https://github.com/GabrielGil/TimThumb
Ich bin von Timthumb begeistert, da es so unglaublich unkompliziert einsetzbar ist. Außerdem ist es sehr performant, denn tatsächlich werden die Bilder gar nicht immer „on the fly“ neu berechnet. Timthumb hat ein integriertes Caching-System. D.h. wenn das Bild schon einmal in der gewünschten Größe angefordert wurde, wird auf eine gecachte Version zugegriffen.
Wenn du nach Timthumb googlest, wirst du sehr schnell über einige negative Beiträge zum Thema Timthumb stolpern. Das liegt daran, dass es vor vielen Jahren mal eine kritische Sicherheitslücke im Skript gab. Die ist natürlich längst behoben und Timthumb kann aus meiner Sicht bedenkenlos eingesetzt werden.