Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Datei-Include über Variable mitten im Dokument

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP-Datei-Include über Variable mitten im Dokument

    Hi
    Ich mach mir grad ne neue Seite und bin da an was gestoßen wo's für mich praktisch wäre in $variablen php-datei-includes zu speichern welche ich dann über echo $variable; am eingesetzten Ort einfügen kann.
    Bsp:

    PHP-Code:
    <?php

    $var 
    = include("test.php");

    echo 
    "Hier steht ein bisschen Text";
    /* Jetzt soll der Inhalt aus $var kommen */
    echo $var;
    echo 
    "Und hier steht noch ein bisschen Text";

    ?>
    Nur über $var = include(); gehts leider nicht weil include direkt die angewählte Datei ausführt. Gibt's dafür ne andere Möglichkeit?

    Danke für Hilfe


  • #2
    bin mir nicht ganz sicher, vllt kannst du es über eine funktion laufen lassen.

    deine_funktioni(){
    include("test.php");
    }



    echo "Hier steht ein bisschen Text";
    /* Jetzt soll der Inhalt aus $var kommen */
    deine_funktion();
    echo "Und hier steht noch ein bisschen Text";
    Gruß
    David

    Kommentar


    • #3
      Ja das is schon mal ganz gut danke
      Nur wärs mir wesentlich lieber wenn ich in meinen Templates das nicht immer über ne Funktion sondern gleich über ne Variable einfügen könnte.

      Gibts da noch ne alternative?

      Also nochmal: Ich will praktisch den Inhalt einer PHP-Datei in meinem Template eingefügt haben an der stelle wo eine Variable steht die für diese Datei definiert wurde.

      Kommentar


      • #4
        warum muss es unbedingt über eine variable laufen?
        Gruß
        David

        Kommentar


        • #5
          Zitat von Pain-maker
          Also nochmal: Ich will praktisch den Inhalt einer PHP-Datei in meinem Template eingefügt haben an der stelle wo eine Variable steht die für diese Datei definiert wurde.
          soll der php code direkt ausgeführt oder einfach nur weg geschrieben werden?

          Kommentar


          • #6
            Der soll ausgeführt werden wo die variable dafür ausgeführt wird.

            Kommentar


            • #7
              PHP-Code:
              <?
              $code=file_get_contents("test.php");
              $code=str_replace('<'.'?php','<'.'?',$code);
              $code='?'.'>'.trim($code).'<'.'?';


              eval($code);

              ?>
              http://de2.php.net/manual/de/function.eval.php

              Kommentar


              • #8
                Ah danke das is natürlich ne idee, thx^^
                Ja gut das is nett aber mit eval() kenn ich mich aus^^
                Hab wirklich nur nen Denkanstoß gebracuht...

                Danke für die Hilfe!

                Kommentar


                • #9
                  Ich würde seehr vorsichtig mit eval() sein.. nur ein Tipp..

                  Kommentar


                  • #10
                    Ob nun eval() oder include() macht nun keinen Unterschied mehr, was die "Gefährlichkeit" angeht, hm?

                    Kommentar


                    • #11
                      Gefährlichkeit??
                      Was meint ihr damit?
                      Im übrigen klappt bei dem Clan genannten Code-output das Variablen-definieren mit eval() leider net. Is also leider auch keine gute Lösung.
                      Gibts noch was anderes? Am liebsten würd ich das auch gleich in meine Klasse einbauen können wobei mir erstmal ne Problemlösung wichtig ist.

                      Danke

                      Kommentar


                      • #12
                        Ich weiß nicht, ob die Version die ich vorschlage, besser ist, aber ich nutze die auch so:

                        Ich füge einfach an die Stelle, in der die Datei eingefügt werden soll, die include() Funktion sein, also in etwa so:

                        PHP-Code:
                        <?php

                        print "irgendwas";
                        $variable $_GET['test'] ;
                        ...

                        include(
                        'datei.php');

                        ...


                        ?>
                        Das hat bisher immer geklappt.
                        Warum sind eval() und include() gefährlich?

                        Kommentar


                        • #13
                          PHP-Code:
                          <?php
                          ob_start
                          ();
                          include 
                          'name_of_file.php';
                          $var=ob_get_contents();
                          ob_end_clean();
                          ?>

                          Kommentar


                          • #14
                            Zitat von Pain-maker
                            Gefährlichkeit??
                            Was meint ihr damit?
                            Im übrigen klappt bei dem Clan genannten Code-output das Variablen-definieren mit eval() leider net.
                            Danke

                            dann musst du irgend was falsch gemacht haben, denn das was ich dir gepostet habe, hat auch funktioniert.

                            wenne jetzt noch den code postest kann ich dir evtl. auch noch sagen woran es liegt

                            Kommentar


                            • #15
                              Also:

                              (...)
                              if($_GET['page'] == "test") {
                              $content="test.php";
                              }
                              (...)
                              eval("echo \"".$tpl->out('test')."\";");
                              (...)

                              und in meinem Template test möcht ich dann über $content die PHP-Datei aufrufen. Und bei dem was du gepostet hast klappt:
                              eval ("\$content = \"$code\";"); leider nicht

                              Kommentar

                              Lädt...
                              X