PHP - Datei im Hintergrund ausführen und anzeigen?

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.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012