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:
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:
Und ich kann auch die Ausgabe des HTML-Headers durch Typo3 unterdrücken:
Beispiel:
Ich kriege Typo3 nicht dazu, die Rückgabe des PHP-Skripts an den Client zu senden.
Was mache ich falsch?
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 {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.
disableAllHeaderCode = 1
}
Beispiel:
page = PAGEIch habe auch die Variante mit
page.10 = USER_INT
page.10 {
userFunc = bildfunktionen->holdasbild
}
config {probiert und den HTML-Header dann im PHP-Skript weggelassen. Das führt zu einer Fehlermeldung im Browser (Bilddatei enthält Fehler).
disableAllHeaderCode = 1
additionalHeaders = Content-Type:image/png
}
Ich kriege Typo3 nicht dazu, die Rückgabe des PHP-Skripts an den Client zu senden.
Was mache ich falsch?