In eine Variable inkludieren

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

  • In eine Variable inkludieren

    Ist dies hier eigentlich möglich?

    PHP-Code:
    $html .= include('./inc/metas.inc.php'); 
    Hier sollen Meta-Tags in ein $html inkludiert werden, wie der Name schon sagt.. Die Variable $html wird nachher in eine .html-Datei geschrieben. Nur scheint das nicht zu funktionieren, im Quelltext stehen keine Metatags und ausgegeben wird nur eine 1. Dafür werden die Metatags an Ort und Stelle eingebunden, also dort, wo ich die Variable $html generiere. Ich hab schon dafür gesorgt, dass metas.inc.php vorher im Skript mit include und nicht mit include_once reingeholt wird. A

  • #2
    Was hindert dich daran z.B $metatags in deiner metas.inc.php zu deklarieren? Die datei zu inkludieren und danach $html .= $metatags zu schreiben ?
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Das wäre eine Möglichkeit, die ich wohl auch anwenden werde. So funktioinierts aber nicht, wenn ich eine statische Methode habe:

      PHP-Code:
          public static function fileIncludeOnce($file){            // Inkludiert Files
          
      if(file_exists($file)){
                include_once 
      $file;
          } else {
                throw new 
      Exc('Datei <b>'.$file.'</b> nicht gefunden.');
            }
        } 
      Diese Methode wird so aufgerufen:

      PHP-Code:
      try{
        
      Etc::fileIncludeOnce('inc/metas.inc.php');
        print 
      $meta;
      } catch (
      Exc $exc){
        
      $error->catchException($exc);

      Hier krieg ich: NOTICE: "Undefined variable: meta"

      Kommentar


      • #4
        Und was sagt uns Undefined Variable? Wo wird meta denn definiert? Ich seh es nirgendwo.
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Ich verstehe nicht ganz.. $meta wird doch in der Datei definiert, die inkludiert wird. Das war ja das, was du vorgeschlagen hast?!

          Kommentar


          • #6
            Mal ganz abgesehen davon, das eine Statische funktion fileIncludeOnce wohl etwas überzogen ist, bau dir lieber eine funktion die dir deine Metatags als Rückgabewert liefert wenn du das schon so haben musst.
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Die Includedatei
              PHP-Code:
              <?php
              echo ' hier bin ich !';
              $meta ='Das ist ein Metaeintrag';
              ?>
              Das Script:
              PHP-Code:
              <?php
              $html
              ='Hallo';
              @
              ob_start();
              include(
              'test.inc.php');
              $html .=ob_get_contents();
              ob_end_clean();
              echo 
              $html.$meta;;
              ?>
              Man kann somit Ausgaben aus einer Include abfangen und zuweisen, wie auch Variable aus der Include verwenden.

              Ausgabe:
              Hallo hier bin ich !Das ist ein Metaeintrag
              Das
              PHP-Code:
              $html .= include('./inc/metas.inc.php'); 
              läuft nicht.
              Zuletzt geändert von ; 06.08.2009, 11:22.

              Kommentar


              • #8
                Das mit dem Include klappt super, du darfst nur die Daten halt nicht aus- sondern zurückgeben.
                PHP-Code:
                // include.php
                <?php return 'xyz';

                // main.php
                $data=include 'include.php';
                var_dump($data); // string(3) "xyz"

                Kommentar


                • #9
                  Zitat von tim-gt Beitrag anzeigen
                  Hier krieg ich: NOTICE: "Undefined variable: meta"
                  Ist doch klar siehe PHP: include - Manual .

                  Die Variablen haben ihren Scope in der Funktion nicht aber nach aussen,d.h. $meta ist aussen unbekannt.

                  Kommentar

                  Lädt...
                  X