php datei ausführen & als html speichern

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

  • php datei ausführen & als html speichern

    hallo forumgemeinde,

    frohes jahr euch allen erst einmal :-)

    ich habe folgendes problem: ich möchte eine datei, in der sich php code befindet, als .html datei speichern. öffne ich jetzt diese datei mit fopen und lese sie dann mir fread ein, wo wird der darin enthaltene php code nicht ausgeführt und ist dann in der .html datei sichtbar.

    nun die frage: wie löse ich dieses problem? gibt es eine möglichkeit, die seite per script quasi aufzurufen (so als ob ich dies mit dem browser täte), damit der code ausgeführt wird, um sie dann als .html zu speichern?

    grüsse
    lukas

  • #2
    readfile()

    Kommentar


    • #3
      readfile() funktioniert nicht, aus 2 gründen:

      1. gibt readfile() den inhalt der datei an den browser, d.h. die seite wird mir angezeigt, jedoch kann ich sie nicht unter einen anderen endung speichern. zudem müsste ich readfile() in einer schleife verwenden, da es viele .php dateien zum umbenennen sind.

      2. readfile() parst die datei nicht, d.h. führt den code nicht aus beim senden an den browser.

      Kommentar


      • #4
        1) sollte mit ob_start() kein problem darstellen
        2) könnte mit http://www... behoben werden?

        Kommentar


        • #5
          achso, wenns net geht, guck dir eval() an.

          Kommentar


          • #6
            So gehts

            PHP-Code:
            ob_start(); //Ausgabepuffer einschalten

            include('datei.php');

            $cont ob_get_contents(); //Daten aus Ausgabepuffer speichern
            ob_end_clean(); //Ausgabepuffer löschen und ausschalten 
            Jetzt Inhalt von $cont in Datei schreiben, fertig...

            Kommentar


            • #7
              warum so umstaendlich?

              PHP-Code:
              $cont file_get_contents('datei.php'); 
              1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

              /(bb|[^b]{2})/

              Kommentar


              • #8
                weil deins bei einer PHP-Datei idr. totaler schwachsinn ist!

                Kommentar


                • #9
                  dann nenne mir bitte einen grund wieso es das sein sollte.
                  dank url wrapper kannst du so den geparsten inhalt jeder datei einlesen ohne den ganzen buffering-kram.
                  1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

                  /(bb|[^b]{2})/

                  Kommentar


                  • #10
                    Ich weise nicht gerne darauf hin aber ein sehr sehr sehr ähnlicher Thread existiert schon im Brainstorming Bereich und dieser ist nur ein paar Tage alt, die Suchfunktion ist gleich dort oben
                    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                    Kommentar


                    • #11
                      Original geschrieben von loci
                      dann nenne mir bitte einen grund wieso es das sein sollte.
                      dank url wrapper kannst du so den geparsten inhalt jeder datei einlesen ohne den ganzen buffering-kram.
                      Schon einmal versucht?

                      Und als Gegenfrage: Wie könnte man denn dann den PHP Code einer Datei einlesen?
                      PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                      Kommentar


                      • #12
                        loci, der "geparste" inhalt wird von php über den webserver geliefert, wenn er eine anfrage über das http-protokol bekommt. das ist aber bei deinem code nicht der fall. ebensowenig bei busstop.

                        und wenn schon rtfm über die wrapper, dann richtig:
                        file:// is the default wrapper used with PHP and represents the local filesystem. When a relative path is specified (a path which does not begin with /, \, \\, or a windows drive letter) the path provided will be applied against the current working directory.

                        Kommentar

                        Lädt...
                        X