PHP - Datei im Hintergrund ausführen und anzeigen?
Hallo!
ich versuche meine Frage so einfach wie möglich zu erklären, ich habe momentan 3 "Nebenseiten" und eine Hauptseite.
Auf der Hauptseite soll nun der Inhalt der 3 Nebenseiten ausgegeben werden. mit "include" kann man so zu sagen den Code zwar rein kopieren, jedoch würde ich gerne Die 3 Dateien Ausführen, und erst dann soll (so zu sagen) der include teil kommen.
Also müsste ich diese Drei Dateien im Hintergrund laden und den Inhalt anschließend auf der Hauptseite ausgeben.
Wisst Ihr eventuell wie das funktionieren würde? Mein Problem ist nehmlich das include den Code so zu sagen nur auf der Hauptseite einfügt und er dort übernommen wird. :)
Evnetuell könnten die Informationen auch mittels eines Formulares übermittelt werden, jedoch hätte ich noch keine genaue Vorstellung, daher hoffe ich das mir einer von euch helfen kann! :-)
Danke und einen schönen Tag wünsche ich euch noch! :-)
4 Antworten
Ich hoffe, ich verstehe dich richtig. :)
Anstatt ...
include('foobar.php');
... benutzt du ...
echo file_get_contents(('foobar.txt');
... dabei wird der Code in foobar.txt NICHT interpretiert, und einfach so "eingebunden".
Wenn du hingegen den fertig interpretierten Output von "foobar.php" einbinden / ausgeben willst, gibt es 3 Möglichkeiten:
-
Anstatt "echo xyz;" in der einzubindenden Datei, schreibst du am Anfang "$buf = '';" und ersetzt jedes "echo" durch "$buf .=". Nach dem include-Befehl in deiner Hauptseite findet sich nun der gesamte Inhalt nun in der Variablen $buf, die du einfach nur noch mit "echo $buf;" ausgeben musst.
-
Sollte deine eingebundene Datei auch HTML-Code außerhalb von PHP (d.h. außerhalb von <?php und ?>) oder evtl. weitere include-Anweisungen enthalten, kannst du am Anfang der einzubindenden Datei einfach "ob_start();" aufrufen, und am ende "$buf = ob_get_clean();". Du könntest diese beiden Funktionen auch direkt vor- oder nach deinem Include-Befehl aufrufen. Danach liegt er gesamte Inhalt in "$buf", den du wiederum mit "echo" ausgeben kannst.
-
Du kannst auch eine lokale Verbindung zu deinem Webserver aufbauen und das, was du erhältst dann ebenfalls ausgeben. Aber diese Lösung ist ein Knickei und ich würde davon abraten.
Am besten du machst Folgendes:
ob_start();
include(foobar.php);
$buf = ob_get_clean();
echo $buf;
... was auch immer das Ganze bringen soll. :)
Wenn Du verschiedene php-Schnipsel includest, werden genau in diesem Moment die php-Anweisungen in den zu inkludierenden Dateien ausgeführt.
du schreibst wirres Zeugs, ich hab leider nicht verstanden was du genau willst.
An der Stelle wo du das Include einfügst wird der code der includierten php-Datei ausgeführt.
Es ist sogar möglich eine php-Datei mehrmals zu includieren.
ps: nämlich hat nix mit nehmen zu tun ....
Es ist komplett unverständlich was du überhaupt erreichen willst. Was sind für dich Nebenseiten und deine Hauptseite. Mit include bindest du Code in die aktuelle Datei ein. Du führst die Dateien mit den include doch aus, wie willst du sie erst ausführen und dann includen? Das macht überhaupt keinen Sinn.