@ndre@s: "include" zur laufzeit in variable ?

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

  1. 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

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
  2. 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