"include" zur laufzeit in variable ?
@ndre@s
- php
0 Thomas Luethi0 milky
Hi,
mein Problem ist, dass ich eine externe php-datei, bzw. deren htm-ausgabe in eine andere php-datei einbinden muss. dies sollte zur laufzeit geschehen,da das aufrufende programm der externen datei noch parameter übergibt, die dieses bei der ausführung berücksichtigen muss.
Es müßte sowas wie einen execute-befehl geben, der es erlaubt mehrere scripte nacheinander durch den compiler zu jagen, so dass das folgende script die laufzeit-parameter des vorigen erben kann...
also syntaktisch völlig falsch, aber dem Verständnis ggf. zuträglich soll mein problem durch eine dem folgenden ähnliche Sequenz erledigt werden:
$variable=execute("externes_file.php?parameter=wert");
Vielen Dank für jeden hilfreichen Hinweis.
gruß
@ndre@s
Hallo,
Ich befuerchte, dass Dein "Konzept" etwas ... naja, ungeschickt ist.
Mach Dich mal schlau zu den Funktionen:
file_get_contents()
eval()
Von eval() raten die meisten Leute aus Sicherheitsgruenden ab.
Und lies die dclp-FAQ:
Wie übergebe ich Variablen an eingebundene Dateien?
http://www.dclp-faq.de/q/q-datei-uebergabe.html
Gruesse,
Thomas
Hey,
$variable=execute("externes_file.php?parameter=wert");
Achso, schreib das doch gleich, dann ist deine Frage auch gleich viel
verständlicher! ;-)
Du hast die Möglichkeit, dein externes_file über den Umweg Webserver
(zweite HTTP-Anfrage) abzurufen:
$variable = file("http://example.com/externes_f.php?param=wert")
Oder aber du verwendest ob_wasauchimmer():
function execute($script, $params)
{
global $dieses, $und, $jenes;
$OLD = $_REQUEST;
$_GET = $_REQUEST = $params;
{
ob_start();
ob_implicit_flush(0);
include($script);
$r = ob_get_contents();
ob_end_clean;
}
$_GET = $_REQUEST = $OLD;
return($r);
}
Oder irgendetwas in der Art.
MsF,
milky