Bildausgabe in PHP: Was mache ich falsch?
Hey, ich habe da ein kleines Problem.
Leider wird keines beider Bilder ausgegeben. Was mache ich falsch?
Kann ich bei
header('Content-type: image/jpeg');
überhaupt eine Schleife einbauen?
Es erscheint auch kein Fehler.
In der url.txt steht eine Zeile.
<?
// Definition des Dateityps
header('Content-type: image/jpeg');
// Quellbild
$jpg = imagecreatefromjpeg('images/merge.jpg');
// Textfarbe
$white = imagecolorallocate($jpg, 255, 0, 0);
// Definition der Schriftart mit einer ttf
$font = 'fonts/Regular.ttf';
// Text aus der URL nehmen
// text = $_GET['text'];
$filename = 'url.txt';
$handle = "url.txt";
$url = file($handle);
$zeile3 = $url[0]; // 0 steht für Zeile 1, 1 für Zeile 2, usw.
if (file_exists($filename)) {
imagettftext($jpg, 150, 0, 420, 1100, $white, $font, $zeile3);
// Bild an Browser übergeben
imagejpeg($jpg);
// Cache löschen
imagedestroy($jpg);
fclose($handle);
}
else {
$text = 'Nicht Anschauen!';
imagettftext($jpg, 150, 0, 420, 1100, $white, $font, $text);
// Bild an Browser übergeben
imagejpeg($jpg);
// Cache löschen
imagedestroy($jpg);
fclose($handle);
}
?>
1 Antwort
![](https://images.gutefrage.net/media/user/Warpenstein/1693329973507_nmmslarge__102_81_833_833_7226e8b04539d40cfccfa24fed9e81ab.png?v=1693329974000)
Das was du da hast sollte aber Fehler werfen, vermutlich werden die aber aufgrund deiner Konfiguration nicht ausgegeben. Was ich bis jetzt gesehen habe:
- Du hast mehrere Zeilenumbrüche in der PHP-Datei, bevor du <?php machst. Anschließend kann deine header()-Anweisung nicht mehr funktionieren deswegen. Leerzeilen rauswerfen, <?php muss in der ersten Zeile sein!
- Die Textfarbe, die du da eingestellt hast wird in eine Variable $white übergeben, aber dem Farbcode nach müsste das rot sein. imagecolorallocate($jpg, 255, 255, 255) ist weiß.
- Das fclose() macht gar keinen Sinn, da $handle keine Resource durch ein fopen() ist.
Bekommst du denn ein Bild ausgegeben, wenn du die Sache mit der Text-Datei weg lässt? Und mach dringend die Fehlerausgabe an, ansonsten kann man nur raten was da alles quer sitzt.
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/Warpenstein/1693329973507_nmmslarge__102_81_833_833_7226e8b04539d40cfccfa24fed9e81ab.png?v=1693329974000)
Warpenstein
05.02.2022, 21:20
@schreurs1
Hast du dir mal $zeile3 ausgeben lassen? Steht da was drin?
Wenn ich due komplette schleif weg lasse geht es ja