[imagejpeg] Zeigt gespeichertes Bild nicht an!?

BiepoN

Mitglied
Hallo zusammen,

habe eine kleine Schwierigkeit. Wenn ich den folgenden Quellcode nutze:

Code:
header( "Content-type: image/jpeg");
$image = imagecreatefromjpeg("./gfx/bg.jpg");
$weiss = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 2, 5, 18, "Nickname: ".$nick, $weiss);
imagestring($image, 2, 5, 38, "Rank: ".$rank." (".$skill.")", $weiss);
imagestring($image, 2, 5, 48, "Kills: ".$kills, $weiss);
imagestring($image, 2, 90, 48, "Deaths: ".$deaths, $weiss);
imagejpeg($image,'stats.jpg',100);
imagedestroy($image);

Wird beim Aufrufen das Bild nicht angezeigt, Meldung: Die Grafik "http://www.xxxx.xx/xxx/xxx.php" kann nicht angezeigt werden, weil sie Fehler enthält.

Auf dem Server aber liegt die abgespeicherte "stats.jpg" die ich auch aufrufen kann. Lass ich bei imagejpeg '' leer zeigt er mit das Bild im Browser korrekt an. Wo ist hier der Denkfehler?

PHP Version: 4.3.10-16
GD (aus phpinfo()):
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

Gruß
 
Hi,

imagejpeg gibt entweder eine generierte Bilddatei direkt aus (wenn Du im zweiten Parameter keinen Dateinamen angibst), oder erstellt eben eine Bilddatei auf dem Server.

Wenn Du in einem Arbeitsschritt sowohl das Bild anzeigen willst, als auch eine permanente Datei erstellen, würde ich probieren, imagejpeg zweimal aufzurufen: Einmal mit Angabe des Dateinamens und ein zweites Mal ohne.

php.net hat gesagt.:
Die Angabe des Dateinamens filename ist optional. Fehlt er, werden die erzeugten Bilddaten direkt ausgegeben. Um die Angabe des Dateinamen zu umgehen, dennoch aber den Parameter als solchen zu nutzen, können Sie einen Leerstring ('') benutzen. Durch Verwendung der Funktion header() mit der "content-type"-Angabe "image/jpeg" können Sie PHP-Skripte erstellen, welche die JPEG-Ausgabe direkt vornehmen.

Gruß
.
 
Sonst kannst du auch auf die just erstellte Grafikdatei weiterleiten, falls sie von Außen zugängig ist.
 
Zurück