Corina: php Seite ausführen und ein Datei schreiben zur späteren Ausgabe

Meine Seite wird so ausgegeben:

include_once 'header.php';

include_once 'content.php';

include_once 'footer.php';

Jetzt komme ich zu dem Punkt das bestimmte Befehle nur vor der eigentlichen HTML Ausgabe bearbeitet werden können.

Nun würde mich interessieren ob es eine Möglichkeit gibt die einzelnen Seiten wie bei einem Abruf zusammenzubauen, und sie aber dann aber nicht sofort ausgeben, sondern in eine Datei schreiben.

$ausgabedatei= file_get_contents('header.php', FILE_USE_INCLUDE_PATH);

Hier wird aber die gesamte Datei inkl. php Code reingeschrieben, ist es möglich nach dem ausführen, praktisch das Ergebnis in die Datei zu schreiben.

  1. Tach!

    Nun würde mich interessieren ob es eine Möglichkeit gibt die einzelnen Seiten wie bei einem Abruf zusammenzubauen, und sie aber dann aber nicht sofort ausgeben, sondern in eine Datei schreiben.

    Im einfachsten Fall mit Output Buffering Control.

    Besser jedoch, indem man sein Programm nach dem EVA-Prinzip strukturiert. EVA = Eingabe, Verarbeitung, Ausgabe. In dieser Reihenfolge. Der verarbeitende Teil sammelt lediglich alle Daten zusammen, der Ausgabeteil fügt diese in das auszugebende Gerüst ein.

    dedlfix.

  2. Nun würde mich interessieren ob es eine Möglichkeit gibt die einzelnen Seiten wie bei einem Abruf zusammenzubauen, und sie aber dann aber nicht sofort ausgeben, sondern in eine Datei schreiben.

    Natürlich ist das möglich. PHP (echo, print) schickt ja den Puffer nach STDOUT und genau da, also anstelle STDOUT könnte auch ein Filehandle stehen.

    MfG

    1. Tach!

      Nun würde mich interessieren ob es eine Möglichkeit gibt die einzelnen Seiten wie bei einem Abruf zusammenzubauen, und sie aber dann aber nicht sofort ausgeben, sondern in eine Datei schreiben.

      Natürlich ist das möglich. PHP (echo, print) schickt ja den Puffer nach STDOUT und genau da, also anstelle STDOUT könnte auch ein Filehandle stehen.

      Nö, kann nicht, weil man bei beiden keinen Ausgabekanal angeben kann. Dazu müsste man umständlich die Filesystem-Funktionen nehmen. Der PHP-Weg heißt, wie schon erwähnt, Ausgabepufferung.

      dedlfix.