tomgk: Ausgabe-Pufferung

Hallo!

Ich kenn mich mit der Ausgabe-Pufferung von PHP nicht so aus ...

Möchte wissen wie man folgendes in PHP schreibt
-Es wird etwas ausgegeben
-Dann die Ausgaben-Pufferung aktiviert
-eine Datei wird includet
-es wird "<title>$title</title>" ausgegeben bevor der Puffer von der Include-Datei ausgegeben wird (wie macht man das?)
-Puffer der Include-Datei leeren

Ist das möglich/sinnvoll, gibt es bessere Alternativen?

MfG
tomgk

  1. Hello,

    Nur so nebenbei: die Puffer können kaskadiert werden.

    ob_start();         ## einen Puffer starten
    include 'Datei';    ## Datei einlesen
    $buffer = ob_get_clean();  ## Puffer auslesen und Pufferung beenden

    Nun hast Du den Pufferinhalt in $buffer und das kannst Du ausgeben, wann Du möchtest.

    Bedenke aber, dass dieselbe include-Datei nicht unbedingt nochmal includet werden kann.

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hallo!

      Hello,

      Nur so nebenbei: die Puffer können kaskadiert werden.

      ob_start();         ## einen Puffer starten
      include 'Datei';    ## Datei einlesen
      $buffer = ob_get_clean();  ## Puffer auslesen und Pufferung beenden

      Das ist was ich gesucht habe.

      Bedenke aber, dass dieselbe include-Datei nicht unbedingt nochmal includet werden kann.

      Wie meinen?

      PS: Warum funktionier das nicht:
      RewriteRule ^(^.*)/(.*).(.*)$ index.php?dir=$1&site=$2&typ=$3 [L]
      RewriteRule ^(^.*).(.*)$ index.php?site=$1&typ=$2 [L]
      (site ist immer index und typ immer php)

      MfG
      tomgk

      1. Bedenke aber, dass dieselbe include-Datei nicht unbedingt nochmal includet werden kann.
        Wie meinen?

        Wenn du in der include-Datei z.B. eine Funktion oder Klasse definierst, würde ein doppeltes Einbinden einen Error werfen.

        1. Hallo!

          Wie meinen?

          Wenn du in der include-Datei z.B. eine Funktion oder Klasse definierst, würde ein doppeltes Einbinden einen Error werfen.

          Aha.

      2. Hi,

        PS: Warum funktionier das nicht:

        Mit der Frage bleibst du bitte in deinem bereits bestehenden Thread.

        Doppelposting bleibt Doppelposting, auch wenn du es als "P.S." in einem anderen Thread - wo es nun gaenzlich unpassend ist - unterbringst.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
  2. Hi,

    Ist das möglich/sinnvoll, gibt es bessere Alternativen?

    Alternativen zu *was*?

    Auch du bist oft genug hier, dass du langsam wissen solltest, dass du gefaelligst beschreiben sollst, was du *erreichen* willst.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
  3. Hello,

    Ist das möglich/sinnvoll, gibt es bessere Alternativen?

    Alternativen sind Funktionen, also die jetzt noch zu includierende Datei zu einer Funktion umzubauen. Dabei kannst Du dann auch gleich berücksichtigen dass innerhalb der Funktion keine Deklarationen stattfinden, die den Namensbereich der Funktion überschreiten, also nach ihrem Ende bestehen bleiben.

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de