Sven Rautenberg: dynamisch erzeugte Grafik direkt im HTML-Code?

Beitrag lesen

Moin.

ich habe folgendes Problem: Ich möchte an beliebiger Stelle innerhalb eines Dokumentes ein dynamisch erzeugtes Bild einbinden; also statt <img src="...">
einen PHP-Script-Teil a la
<?PHP  ImageJpeg( $bild ) ?>
Leider wird statt des Bildes dessen Dateinhalt in Form von Steuerzeichen usw. ausgegeben :-(

Klarer Fall von falschem Mime-Typ. Wenn du ein Bild ausgibst, mußt du dem Browser sagen, daß es ein Bild ist. Der kann das im Normalfall nämlich nicht unterscheiden (der IE bildet da eine unrühmliche Ausnahme), und verhält sich entsprechend des Mime-Typs. Aber....

Geht sowas? Bisher habe ich nur Lösungen gefunden, die ein externes Script einbinden (<img src="script.php?txt=irgendwas">), allerdings muss ich etwas mehr Text einbinden und würde es deshalb in einem Script erledigen.

Du kannst pro PHP-Skriptausgabe nur ein Dokument generieren. Also entweder eine HTML-Seite, oder ein Bild. Du kannst keine "Inline-Images" generieren, also Bilder, die schon direkt im HTML-Code stehen. Sowas wird von den Browsern AFAIK nicht unterstützt.

Dir bleibt also garnichts anderes übrig, als deine Bilder ganz normal als <img src="..."> einzubinden. Dabei kannst du selbstverständlich ein PHP-Skript referenzieren. Du kannst sogar das gleiche Skript referenzieren, welches deine HTML-Seite ausgibt. Allerdings mußt du dann passende URL-Parameter mit angeben, und dein Skript muß entsprechend der Parameter einmal HTML ausgeben, und das andere Mal ein Bild.

Wenn du dir dadurch einen Nutzen versprichst, dann mach es so. Ich würde das aber doch lieber in zwei Skripte trennen.

- Sven Rautenberg