Zusätzliche Datei einlesen in Template
Verfasst: 5. Mai 2017, 09:13
Ich versuche nun schon seit gestern Abend eine Datei innerhalb eines Templates im PHP-Code zu laden.
Dafür habe ich die folgenden Möglichkeiten ausprobiert:
- readfile($datei)
- include($datei)
- rex_file::getOutput($datei)
der parameter $datei enthielt dabei immer eine weitere PHP-Datei in dem Format "datei.php?parameter1=value1¶meter2=value2".
Rufe ich die Datei direkt aus dem Browser aus, funktioniert alles wie es soll. Aus dem Template heraus bekomme ich immer einen Error "failed to open stream: No such file or directory". Ich habe auch bereits versucht das ganze zu debugen. Leider bekomme ich da auch nicht so viele Informationen, wie ich es gerne hätte. Der wert von __DIR__ gibt mir lediglich "rex:///template" zurück. Das ich dort dann nicht auf die Datei zugreifen kann, ist logisch!
Aber leider bekomme ich es auch nicht mit dem absoluten Pfad hin, den ich über rex_path::frontend() vorangestellt habe.
Auch wenn ich versuche per URL auf die Datei zuzugreifen, also in der Form readfile("http://www.url.de/datei.php?parameter1= ... er2=value2") erhalte ich keinen Zugriff. Das dürfte allerdings weniger mit REDAXO als mit den technischen hintergründen zu tun haben, da ich so natürlich versuche auf dem Server auf sich selber zuzugreifen. Der Port ist dann aber bereits belegt und wirft den Fehler.
Jetzt ist die Frage, ob es überhaupt eine Möglichkeit gibt aus einem Template direkt auf das Dateisystem zuzugreifen!
Eine Einbettung direkt über HTML steht nicht zur Debatte, weil die Parameter verborgen sein sollen.
Nette Grüße
Sebastian
Dafür habe ich die folgenden Möglichkeiten ausprobiert:
- readfile($datei)
- include($datei)
- rex_file::getOutput($datei)
der parameter $datei enthielt dabei immer eine weitere PHP-Datei in dem Format "datei.php?parameter1=value1¶meter2=value2".
Rufe ich die Datei direkt aus dem Browser aus, funktioniert alles wie es soll. Aus dem Template heraus bekomme ich immer einen Error "failed to open stream: No such file or directory". Ich habe auch bereits versucht das ganze zu debugen. Leider bekomme ich da auch nicht so viele Informationen, wie ich es gerne hätte. Der wert von __DIR__ gibt mir lediglich "rex:///template" zurück. Das ich dort dann nicht auf die Datei zugreifen kann, ist logisch!
Aber leider bekomme ich es auch nicht mit dem absoluten Pfad hin, den ich über rex_path::frontend() vorangestellt habe.
Auch wenn ich versuche per URL auf die Datei zuzugreifen, also in der Form readfile("http://www.url.de/datei.php?parameter1= ... er2=value2") erhalte ich keinen Zugriff. Das dürfte allerdings weniger mit REDAXO als mit den technischen hintergründen zu tun haben, da ich so natürlich versuche auf dem Server auf sich selber zuzugreifen. Der Port ist dann aber bereits belegt und wirft den Fehler.
Jetzt ist die Frage, ob es überhaupt eine Möglichkeit gibt aus einem Template direkt auf das Dateisystem zuzugreifen!
Eine Einbettung direkt über HTML steht nicht zur Debatte, weil die Parameter verborgen sein sollen.
Nette Grüße
Sebastian