Ankündigung

Einklappen
Keine Ankündigung bisher.

dynamisch generierte HTML Seite speichern

Einklappen

Neue Werbung 2019

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

  • dynamisch generierte HTML Seite speichern

    guten morgen,

    ich hab folgendes problem:

    ich habe ein "webinterface" mit feldern, textarea etc..
    ein benutzer kann dort eingaben machen und diese dann abschicken.
    die einträge werden über ein template verarbeitet und es wird eine html seite generiert in der die einträge des nutzers dann wieder auftauchen.

    soweit, so einfach. funktioniert auch alles super.

    ich möchte nun diese dynamisch generierte html datei permanent speichern. MIT den dynamischen inhalten.

    ich habs schon mit fopen etc. versucht aber das funktioniert nicht.

    ich hoffe ihr könnt mir weiterhelfen.

    mfg


  • #2
    die einträge werden über ein template verarbeitet und es wird eine html seite generiert
    Werden die Inhalte sofort (innerhalb des Templatecodes) ausgegeben oder wird der Inhalt von einer Funktion/Methode als zeichenkette zurückgeliefert?
    Zum Helfen etwas zuviel Rumraten erforderlich.

    Kommentar


    • #3
      was geht denn nicht bei fopen?
      Klick mich


      Kommentar


      • #4
        also in der template datei werden die variablen gesetzt:

        PHP-Code:
        <?php
        require_once "vLIB/vlibTemplate.php";
          
        $tmpl = new vlibTemplate('datei.html');

            
        $tmpl->setVar('name',$variablenname);
            ...

         
        $tmpl->pparse();

        ?>
        in den variablen wird gespeichert was im formular vorher eingegeben wurde.

        dieser inhalt wird dann in der datei.html gesetzt:

        {tmpl_var name='name'}

        und somit wird eine html seite generiert mit dem was der benutzer eingetragen hat.

        Kommentar


        • #5
          was geht denn nicht bei fopen?

          da wird dann nur die ursprüngliche html seite mit den vorgegebenen statischen inhalten gespeichert.

          Kommentar


          • #6
            Ah, also wird es gleich ausgegeben.
            Wenn das: http://vlib.clausvb.de/docs/multihtm...btemplate.html die dazugehörige Doku ist, dann gibt es auch keine Funktion, die den Inhalt zurückliefert.

            Du kannst die Ausgaben puffern lassen und dann den Puffer auslesen.
            http://de3.php.net/manual/en/function.ob-start.php

            Kommentar


            • #7
              wie gehe ich denn da vor?
              zu welchem zeitpunkt muss ich denn diese pufferung durchführen?

              Kommentar


              • #8
                ob_get_contents() vielleicht ?
                damit kannst du alle "ausgaben" zwischenspeichern und dann in einer datei ablegen.
                keine

                Kommentar


                • #9
                  ja damit funktioniert das wahrscheinlich aber mein problem ist der zugriff auf die dynamische html seite.
                  wie kann ich die puffern/speichern bzw. wir greife ich darauf zu wenn die ja eigentlich nur "temporär" existiert?

                  Kommentar


                  • #10
                    hmm ? wo liegt das problem ?
                    sobald die seite erzeugt ist, ist der code ja nicht mehr dynamisch, höchstens die ausgabe.

                    von daher wie bruchpilot schon sagte, ob_start();

                    machs doch so, der user macht alle eingaben in einem formular usw usf. beim abschicken der daten an eine neue php seite machste oben:

                    ob_start();

                    un dann halt wie die seite aussehen soll:

                    echo $das_hier;
                    echo $das_hier_auch;
                    echo "<table>usw";

                    wenn alles so ist wies sein soll machst du:

                    $seiteninhalt = ob_get_contents();
                    ob_end_flush();

                    nun ist die generierte seite in $seiteninhalt;

                    mach echo $seiteninhalt; und die seite wird ausgegeben.

                    oder halt:

                    $file = fopen("temp", "w");
                    fputs($file, $seiteninhalt);
                    fclose($file);

                    nun kannst du jederzeit per:

                    include("temp"); die seite einbinden oder was auch immer damit anstellen
                    keine

                    Kommentar


                    • #11
                      danke! ich hab es jetzt hinbekommen.

                      Kommentar

                      Lädt...
                      X