Stephen: include-ergebnis als variable?

Hallo!

Folgendes Problem:

Der auszugebende HTML-Code einer Seite wird in die Variablen $htmlKopf, $htmlNavi, $htmlContent und $htmlFuss geschrieben.

$htmlContent stellt den eigentlichen Inhalt dar und wird i.d.R. dynamisch erzeugt. Es gibt allerdings einige "statische" Inhalte, die jeweils als eigene Dateien mit den entsprechenden vorliegen (Grund ist, daß diese von der Kundin editierbar sein sollen, ohne in php-code wühlen zu müssen).

Wenn ich versuche, per include oder require diese Statische Datei der Variable $htmlContent zuzuweisen, bekomme ich eine freundliche "1" für den geglückten include, der Inhalt der Datei aber wird einfach oben in der Seite ausgegeben.

Wie also kann ich eine Datei mit HTML-Schnipseln so einbinden, daß sie als Variablen-Wert erkannt und weitergegeben wird?

Danke vorab!

  1. moin

    also du könntest die datei einfach komplett einlesen mit file_get_contents()

    musst natürlich vorher glaube ich öffnen, und danach schließen

    sihe http://de.php.net/manual/de/ref.filesystem.php

    gruß

    1. Hello,

      also du könntest die datei einfach komplett einlesen mit file_get_contents()
      musst natürlich vorher glaube ich öffnen, und danach schließen

      Genau das muss man eben nicht. Die Funktion arbeitet genauso wie file(), nur dass sie nicht zeilenweise in ein Array einliest, sondern blockorentiert die ganze Datei in eine (String-)Variable.

      siehe http://de3.php.net/manual/de/function.file-get-contents.php

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Hello,

        also du könntest die datei einfach komplett einlesen mit file_get_contents()
        musst natürlich vorher glaube ich öffnen, und danach schließen

        Genau das muss man eben nicht. Die Funktion arbeitet genauso wie file(), nur dass sie nicht zeilenweise in ein Array einliest, sondern blockorentiert die ganze Datei in eine (String-)Variable.

        also:
        autor:
        <schnipp>
        Wenn ich versuche, per include oder require diese Statische Datei der Variable $htmlContent zuzuweisen, bekomme ich eine freundliche "1" für den geglückten include, der Inhalt der Datei aber wird einfach oben in der Seite ausgegeben.
        </schnipp>
        er will den inhalt der datei in einer variablen, also den inhalt der datei als string

        und genau das macht doch die funktion

        wo is das problem?

        1. Hello,

          also du könntest die datei einfach komplett einlesen mit file_get_contents()
          musst natürlich vorher glaube ich öffnen, und danach schließen

          Genau das muss man eben nicht. Die Funktion arbeitet genauso wie file(), nur dass sie nicht zeilenweise in ein Array einliest, sondern blockorentiert die ganze Datei in eine (String-)Variable.

          er will den inhalt der datei in einer variablen, also den inhalt der datei als string

          und genau das macht doch die funktion

          wo is das problem?

          Ich habe kein Problem mit file_get_contents(). Ich weiß ja, wie die Funktion angewandt wird. Du aber scheinbar nicht und das habe ich ganz wertneutral erwähnt. Man muss die Datei nicht vorher öffnen und hinterher wieder schließen. Das macht alles die Funktion für Dich.

          Nun alles klar?

          Außerdem funktiiert die Funktion erst ab PHP 4.3.0 und das ist noch nicht bei allen Providern erreicht.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          1. achsoooo

            moin

            sag das doch

            ich dachte du meintest, dass die verwendung der funktion ansich falsch sei ;)

            alles klar friede wieder hergestellt ;)

            ich liebe missverständnisse nur zu sehr, is gut für meinen blutdruck, der ja immer im keller is ;)

            viele grüße

            1. diese Funktion wäre prima, scheiter aber (noch) an der PHP-Version auf dem Server, trotzdem danke =)

              Lösung hab ich weiter oben gepostet:

              http://forum.de.selfhtml.org/?t=67800&m=388193

              cheers, Stephen

  2. Hallo,

    Wenn ich versuche, per include oder require diese Statische Datei der Variable $htmlContent zuzuweisen, bekomme ich eine freundliche "1" für den geglückten include, der Inhalt der Datei aber wird einfach oben in der Seite ausgegeben.

    http://at.php.net/manual/en/function.return.php

    gruß,
    Severin

    --
    Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
    --Philip K. Dick
    1. Hallo,

      http://at.php.net/manual/en/function.return.php

      Urg ich hätte sorgfältiger lesen müssen... tut mir leid. Diese Datein bestehen nur aus HTML. Aber was du machen könntest wäre eine Datei bar.inc.php die den Statischen Inhalt in Variablen enthält:
      <?php
      $htmlContent ='<html>....</html>';
      ?>
      <?php
      include 'bar.php';

      echo $htmlConent;

      ?>

      gruß,
      Severin

      --
      Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
      --Philip K. Dick
      1. »»... Aber was du machen könntest wäre eine Datei bar.inc.php die den Statischen Inhalt in Variablen enthält:

        <?php
        $htmlContent ='<html>....</html>';
        ?>
        <?php
        include 'bar.php';

        echo $htmlConent;

        ?>

        gruß,
        Severin

        Klar, das ginge, würde aber in der bar.php wieder PHP-Code beinhalten, was ich u.a. wegen möglicher Fehler und Problemen bei der  Syntaxfärbung vermeiden wollte.

        Stand der Dinge: die Datei wird von PHP geöffnet und ihr Inhalt in die Variable gelesen.

        <?php

        $str_dateiname = "bla.html";
        $hdl_1 = fopen ($str_dateiname, "r");
        $htmlContent = fread ($hdl_1, filesize ($str_dateiname));
        fclose ($hdl_1);

        ?>

        Dank an Stegoe =)