Quantcast
Channel: TYPO3 Template & Typoscript - TYPO3 Forum
Viewing all articles
Browse latest Browse all 197

Externes PHP-Skript mit HTML-Header-Ausgabe

$
0
0
Als Anfänger mit Typo3 (7.6.4) beiße ich mir gerade an folgendem die Zähne aus:

Ich habe eine eigenständige PHP-Datei, die passend zu einem bestimmten URL-Parameter ein jpeg- oder png-Bild ausgibt (inkl. HTML-Header). Das eigentliche Skript wertet mehrere Partameter aus und beinhaltet Datenbankzugriffe.

Stark vereinfacht sieht die Datei so aus:

<?php
// Parameter auswerten
if (isset($_GET['imgsize'])) {
$img_width = $_GET['imgsize'];
$img_height = $_GET['imgsize'];
} else {
$img_width = 100;
$img_height = 100;
}
// Bild generieren
$id = ImageCreate($img_width,$img_height);
$green = ImageColorAllocate($id, 0, 255, 0);
ImageFill($id, 0,0,$green);
// Bild senden
Header("Content-Type: image/png");
imagepng($id);
imagedestroy($id);
?>

Jetzt will ich erreichen, dass Typo3 dieses Skript ausführt, wenn eine bestimmte URL aufgerufen wird.
Beispiele:

  www.einedomain.de/holdasbild.php?imgsize=250
  oder www.einedomain.de/holdasbild?imgsize=250

Viel habe ich dazu im Netz nicht gefunden. Im Typoscript des Templates der betreffenden Seite kann ich zwar ein externes Script einbinden:

  includeLibs.phpfile = fileadmin/picfunctions/holdasbild.php
 
Und ich kann auch die Ausgabe des HTML-Headers durch Typo3 unterdrücken:

  config {
    disableAllHeaderCode = 1
}
Aber dann bleibt mir nur noch per USER_INT eine Funktion in holdasbild.php anzusprechen. Ich habe das PHP-Skript mehrmals umgeschrieben (nur Funktion, Klasse mit Funktion) - aber im Webbrowser bleibt stets alles leer.
Beispiel:

  page = PAGE
  page.10 = USER_INT
  page.10 {
    userFunc = bildfunktionen->holdasbild
  }
Ich habe auch die Variante mit

  config {
    disableAllHeaderCode = 1
    additionalHeaders = Content-Type:image/png
  }  
probiert und den HTML-Header dann im PHP-Skript weggelassen. Das führt zu einer Fehlermeldung im Browser (Bilddatei enthält Fehler).
 
Ich kriege Typo3 nicht dazu, die Rückgabe des PHP-Skripts an den Client zu senden.

Was mache ich falsch?

Viewing all articles
Browse latest Browse all 197