Hallo alle,
Ein hochgeladenes Bild soll auf einer Webseite mit abgerundeten Ecken angezeigt werden. Das Bild wird deshalb nicht direkt angesprochen, sondern einem PHP-Skript als Parameter übergeben. Das Skript bearbeitet das Bild und liefert es zurück.
Nun wird das ganze natürlich gecacht, indem einmal generierte Bilder abgespeichert und im folgenden vom Skript ohne Bearbeitung einfach eingelesen und zurückgegen werden. So weit - so gut.
Jetzt ist mir aufgefallen, dass die Variante "Bild über PHP-Skript ausliefern" deutlich langsamer ist (nach meinen Untersuchungen ca. 6-10 mal) als das Bild direkt zu laden.
Ich habe das ganze dazu _beispielhaft_ auf folgenden Mini-Code runtergekürzt:
<img src="bild.jpg" /><br />
<img src="script.php?file=bild.jpg" /><br />
In script.php steht einfach nur <?php readfile($_GET["file"]); ?>.
Mein Firefox meldet mir dann den besagten Zeitunterschied um Faktor 6 bis 10 (bei 47 KB großem Bild).
Nun frage ich mich, warum readfile() so lahm ist. Klar dauert das länger. Aber warum gleich so viel? Und noch viel wichtiger: Gibt's eine schnellere Variante?
Danke im Voraus!
Markus