Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie kann ich den den Rückgabe-Text eines PHP-Skriptes einer PHP-Variablen zuweisen?

Einklappen

Neue Werbung 2019

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

  • Wie kann ich den den Rückgabe-Text eines PHP-Skriptes einer PHP-Variablen zuweisen?

    Aus einer HTML-Datei geht das einfach:
    PHP-Code:
    $meineVariable file_get_contents("meineDatei.htm"); 
    Wenn ich jedoch schreibe
    PHP-Code:
    $meineVariable file_get_contents("meinSkript.php"); 
    wobei das Skript meinSkript.php z.B. lautet:
    PHP-Code:
    DIES IST ETWAS WORTLAUT RUNDHERUM
    <?php
    echo 'Und dies ist Wortlaut, der im PHP-Skript erzeugt wird';
    ?>,
    dann enthält $meineVariable leider nur
    PHP-Code:
    DIES IST ETWAS WORTLAUT RUNDHERUM 
    – der mit echo wiedergegebene Wortlaut kommt nicht rüber.

    Was mache ich falsch?

  • #2
    Was mache ich falsch?
    Du siehst nicht in den Browserquelltext.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Zitat von Detlef Beitrag anzeigen
      Was mache ich falsch?
      Zitat von nikosch Beitrag anzeigen
      Du siehst nicht in den Browserquelltext.
      Ja, Du hast recht: dort steht mein PHP-Code;
      aber er wurde nicht ausgerechnet.

      – Ich kann mir helfen, indem ich meinSkript.php mit
      PHP-Code:
      require("meinSkript.php"); 
      aufrufe und bereits dort den Rückgabewert der Variablen übergebe.

      Dennoch: Gibt es eine Möglichkeit, daß
      PHP-Code:
          file_get_contents('meinSkript.php'
      oder etwas ähnliches den Rückgabewert des Skriptes berechnet, so wie es beim direkten Aufruf des Skriptes gemacht würde?

      Kommentar


      • #4
        PHP-Code:
            file_get_contents('http://domain.com/path/to/meinSkript.php'
        Oder Include mit Outputbuffer (Google!)
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Muss es in einer externen Datei stehen? Ansonsten wäre auch [MAN]eval[/MAN] was für dich.

          Gruß

          BJ01090

          Kommentar


          • #6
            Bitte nicht eval! Ich habe zwei gute Varianten aufgezeigt.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Okay. Darf ich fragen wieso man eval nicht verwenden soll?

              Kommentar


              • #8
                Übergabe einer PHP-Skript-Rückgabe an eine Variable

                Mir scheint, nun habe ich es:

                Hier wird ein Textteil errechnet:
                PHP-Code:
                <?php
                #########################
                ##  meinSkript.php
                ######################### 
                ?>
                222 Dies ist Zeile zwei. <br>
                <?php
                $ZeileDrei 
                "333 Und dies ist Zeile drei, die im PHP-Skript erzeugt wird.<br>\n";
                return 
                $ZeileDrei;
                ?>
                XXX  Diese Zeile kommt nicht mit.
                Und hier wird das Skript-Ergebnis geholt und mit echo ausgegeben:
                PHP-Code:
                <?php
                #########################
                ##   hole.php
                #########################   
                ?>

                111 Dies ist Zeile eins.<br>
                <?php
                $gerechneteKette 
                = include("meinSkript.php");
                echo 
                $gerechneteKette;
                ?>
                444 Dies ist Zeile vier. <br>
                Ausgabe:
                PHP-Code:
                "
                111 Dies ist Zeile eins.
                222 Dies ist Zeile zwei. 
                333 Und dies ist Zeile drei, die im PHP-Skript erzeugt wird.
                444 Dies ist Zeile vier." 
                Für include("meinSkript.php") ist es also wichtig, daß der errechnete Wortlaut mit return zurückgegeben wird.
                Allerdings: Nicht das gesamte PHP-Skript-Ergebnis (wie Apache oder Kommandozeile es abliefern würden) wird übergeben. Doch immerhin kann ich mir hiermit helfen.

                Danke für Deine Hinweise!

                Kommentar


                • #9
                  Zitat von BlackJack01090 Beitrag anzeigen
                  Okay. Darf ich fragen, wieso man eval nicht verwenden soll?
                  Man sagt, daß "eval" "evel" (übel, böse) sei, weil "eval" angeblich eine Sicherheitslücke ist. Frag mich nicht, wie.

                  Kommentar


                  • #10
                    Dass ist ziemlicher Unsinn. Die Ausgabe funktioniert so nur, weil das include an der richtigen Stelle steht. Oben hast Du noch etwas anders gefragt. Auf das return könntest Du auch locker verzichten, denn nach dem Include steht $ZeileDrei dem einbindenden Script sowieso zur Verfügung. „XXX Diese Zeile kommt nicht mit.“ ist auch nicht verwunderlich, das ist immer der Fall nach einem return - Include oder nicht.

                    [edit]
                    Man sagt, daß "eval" "evel" (übel, böse) sei, weil "eval" angeblich eine Sicherheitslücke ist. Frag mich nicht, wie.
                    Es heißt „evil“. Zugegeben im Vergleich zu einem „offenen“ Include ergeben sich kaum Unterschiede. Trotzdem ist zu sagen:

                    - eval kann zum Abbruch einer Applikation führen
                    - eval ist schwer zu debuggen
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #11
                      Zitat von Detlef Beitrag anzeigen
                      Man sagt, daß "eval" "evel" (übel, böse) sei, weil "eval" angeblich eine Sicherheitslücke ist. Frag mich nicht, wie.
                      Danke für den Hinweis

                      Kommentar


                      • #12
                        Zitat von nikosch Beitrag anzeigen
                        ... Oben hast Du noch etwas anders gefragt ...
                        Das ist richtig.
                        Die gewünschte Übergabe des gesamten Skript-Ergebnisses an die Variable $gerechneteKette habe ich mit include() nicht hinbekommen.

                        Kommentar


                        • #13
                          Habe doch oben zwei Varianten gepostet? Oder was meint für Dich „gesamtes Skript-Ergebnis“
                          [COLOR="#F5F5FF"]--[/COLOR]
                          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                          [COLOR="#F5F5FF"]
                          --[/COLOR]

                          Kommentar


                          • #14
                            meinst du sowas?

                            myIncludeFile.php
                            PHP-Code:
                            <?php
                            /*
                             * Diverser Quellcode...
                             */

                            return $var;
                            deine Datei die das ergebis erwartet
                            PHP-Code:
                            <?php

                            $resFromInclude 
                            = include('myIncludeFile.php');       # Hier steht nur $var aus dem Include drin;
                            "My software never has bugs, it just develops random features."
                            "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                            Kommentar


                            • #15
                              nikosch hat doch schon alles gesagt, include das Script, buffer seinen output und ließ den buffer dann aus?

                              Kommentar

                              Lädt...
                              X