• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

imagejpeg/imagepng direcktausgabe geht nicht

Dessp

Mitglied
Hallo,
ich erstelle in PHP ein Bild (Ein Kreis mit einer Zahl drinne). Wenn ich das Bild mit imagejpeg oder imagepng speichere gibt es keine Probleme. Nur wenn ich versuche das Bild direckt auszugeben zeigt er "nix" an. In Opera erscheint ein ein kleines Viereckt mi "Bild" drinne (das erscheint wenn Oper adas Bild nicht finded) und im Firefox zeigt er mit den Pfad zu der Datei an.

Ich habe um zu testen den Beispielcode von php.net versucht nur auch das geht nicht.

Beispielcode von php.net:
Code:
// Erzeut ein leeres Bild und fügt ein wenig Text hinzu
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Die Content-Type-Kopfzeile senden, in diesem Fall image/jpeg
header('Content-type: image/jpeg');

// Das Bild ausgeben
imagejpeg($im);

// Den Speicher freigeben
imagedestroy($im);

Mein Code :
Code:
$im = imagecreate(50,50);
$grau = imagecolorallocate($im, 192, 192, 192);
imagefill($im, 0, 0, $grau);
$s = imagecolorallocate($im, 0, 0, 0);
imageellipse($im, 25, 25, 47, 47, $s);
imagestring($im, 10, 20, 20, "92", $s);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);

Beies führ zu dem nich erstellen des Bildes. Ich nutzte als Umgebung Ubuntu mit einem Apache. Braucht es für die direcktausgabe irgendwelche besonderen einstellungen die zum Speichern nicht benötigt werden?

Hier das Bild, was kommt wenn ich imagejpeg($im, test.jpeg); nutze:
test.jpeg
 
Werbung:
Schalte mal error-Reporting an und schau nach, ob es Fehlermeldungen gibt. Natürlich musst Du die php-Grafikbibliotheken installiert und aktiviert haben. Manchmal muss man auch einige Speichersachen anpassen, aber das sollte bei diesem kleinen Bild unerheblich sein.
 
Error Reporting ist an und es kommen trotzdem keine Fehler. Die GD-Funktionen ist auch da.
Folgender Code:
Code:
<?php
if(extension_loaded("gd"))
{
echo "GD aktiv<br>";
$gd = gd_info();
echo "Version: ".$gd["GD Version"]."<br>";
if($gd["JPG Support"]){ echo "<br><b>JPG wird genutzt</b>"; }
if($gd["PNG Support"]){ echo "<br><b>JPG wird genutzt</b>"; }
}
else{
echo "Keine GD Funktion";
}
echo "<br><br>";
echo 'display_errors = ' . ini_get('display_errors') . "<br>";
echo 'error_reporting = ' . ini_get('error_reporting') . "<br>";
?>

liefert folgendes:
Code:
GD aktiv
Version: 2.0
Notice: Undefined index: JPG Support in [pfad]/test.php on line 7 
JPG wird genutzt

display_errors = 1
error_reporting = 30719

Also sollte es gehen oder zumindestens Fehler kommen und trotzdem haut nix hin.
 
Werbung:
Hab mal deinen Code auf meinem Server getestet, dort geht es problemlos. Also tippe ich drauf, dass entweder dein Browser eine Macke hat oder Du mal in den error-Logs vom Server nachschauen solltest.
 
Dito gilt für mich, ich nutze Ebenfalls Ubuntu (9.10, 64 bit Version) und habe heute erst php installiert. Habe dafür die Pakete php5 und php5-gd installiert, damit kann ich bereits das Bild mit deinem Code anzeigen [anm.: ich habe noch ein wenig an der Usergroup von /var/www verändert damit ich Schreibrechte kriege, aber das sollte keinen Unterschied machen].



Wobei ich auch einmal ein ähnliches Problem gehabt habe, ich habe php inklusive gd installiert und jedes Script welches ich ausprobiert habe, hat nichts funktioniert [egal ob Teile aus dem Netz oder ein eigenes welches garantiert funktionierte]. Dann habe ich eine neue Datei erstellt und den Code aus der alten Datei per copy & paste eingefügt - mit der neuen Datei hats dann endlich funktioniert. Frag mich nicht woran der Fehler lag, ich habs bis heute nicht rausgefunden.
 
Zurück
Oben