Sven Rautenberg: Bild öffnen, verkleinern-UND Speichern-fehler:nur schwarzes Bild

Beitrag lesen

Moin!

Danke für deine Antwort.
So ?

Du darfst ein Bild auch gerne zweimal mit imagejpeg() ausgeben. Einmal in eine Datei, und einmal direkt an den Browser.

Ich habe mir mal eine nette Funktion geschrieben, die mir aus den Bildern meiner Digitalkamera Thumbnails mit Bilddaten erzeugt:
<img src="http://www.rtbg.de/images/kirschbluete.jpg" border="0" alt="">

Die Funktion gibt die Thumbnails aus. Da mein Server (nicht der, von dem jetzt das Bild kommt) lahm ist (Pentium 90), und das Generieren des Thumbnails ewig dauert, lege ich einen Cache an. Weil das Skript aber immer ein Bild an den Browser senden muß, und nur wenn kein Cache-Bild vorhanden ist, es speichern soll, mache ich am Skriptende z.B. sowas:

[...]
// Speichern auf Festplatte
imagePng($dst_img,$_SERVER['DOCUMENT_ROOT']."/albumtest/cache/".md5($_REQUEST['file'].$_REQUEST['orientation']));

// Ausgabe an den Browser
header("Content-type: image/png");
header("Last-Modified: " . gmdate("D, d M Y H:i:s", filemtime($_SERVER['DOCUMENT_ROOT']."/albumtest/cache/".md5($_REQUEST['file'].$_REQUEST['orientation']))) . " GMT");
header("Expires: " . gmdate("D, d M Y H:i:s", (time()+86400) ) . " GMT"); // Expires: 1 Tag von heute an.

imagePng($dst_img);
exit;
?>

//Bild finden und zerstoeren
imagejpeg($destination,$file);
//imagedestroy($destination);

Es erscheint mir an dieser Stelle bei deinem Skript aber als ungünstig, den Dateinamen der Originaldatei zu verwenden. Davon wird das Bild nicht besser, wenn es immer und immer wieder neu komprimiert und (wenn auch 1:1) verkleinert wird. Du solltest einen anderen Namen für den Thumbnail verwenden.

- Sven Rautenberg

--
SELFTREFFEN 2003 - http://selftreffen.kuemmi.ch/
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|