Dynamisches CMS > Statisches HTML Web
morsche,
ich habe ein PHP CMS vorliegen und möchte auf einfachstem Wege daraus ein statisches Web generieren, also für jeden möglichen Klick-Fall eine HTML Seite erstellen, damit das Web auch offline verfügbar ist. Die dafür notwendige Programmiertechnik ist soweit klar, nur weiß ich noch nicht, wie ich mit PHP aus bestehenden PHP Dateien mit Hilfe eines Schleifendurchlaufs HTML Dateien erstellen kann. Bisher habe ich es immer mit Perl gemacht und da war das mit dem Template Modul kein Problem, aber in diesem Fall habe ich das Web leider nicht mit Templates aufgesetzt. Meine Vorstellung war, mit Hilfe eines einzigen Scriptes alle notwendigen PHP Dateien mittels Schleife zu öffnen, alle entsprechenden (z.B. Produkt-) Seiten zu generieren und eben jede generierte Seite als HTML abzuspeichern, nur wie lässt sich das umsetzen? Im Prinzip habe ich beispielsweise eine PHP Datei mit einer Produktübersicht mit leidglich ein paar Variablen drin. Wie kann ich diese mittels eines Scriptes auslesen, die Variablen durch deren Inhalt ersetzen und das dann als HTML speichern? Ich danke schonmal für jede Hilfe. Gruß, morsche |
Schau mal hier. Da gibt es unter anderem Links zu Tools mit denen sich offline Versionen von Homepages generieren lassen.
|
ansich ist das keine schlechte Sache, aber bei meinem Fall soll es später ein Admin-System geben von dem aus alle Inhalte des CMS verwaltet werden können und eben auch diese Offline Variante für CD Publikationen erstellt werden kann. Damit das für den Endbenutzer schön einfach bleibt und ich ausreichend Einfluss auf den Umfang und die Namensgebung habe, würde ich es gerne mit PHP lösen.
|
etwas einfacher ausgedrückt...
ich versuche mich nochmal etwas anders zu formulieren - vielleicht hat ja dann jemand eine idee :)
also: gibt es eine möglichkeit, ein php script (mit parametern) durch ein anderes php script aufrufen zu lassen und die resultierenden html daten des aufgerufenen scriptes direkt in eine datei auf dem server zu speichern? dabei sollte der jeweilige html content möglichst nicht ausgegeben werden, da mehrere tausend dateien in einer schleife erstellt werden sollen. |
Du könntest dir ein Script schreiben, mit dem die Seite, die du sicher willst, aufgerufen wird:
PHP-Code:
|
was sind das für funktionen (ob_start, ob_get_contents, ob_end_clean) ?
ansonsten sieht es nach einer recht guten lösung aus. |
Zitat:
ob_start() ob_get_contents() ob_end_clean() |
aah ja - sehr gut, so mach ich das!
vielen Dank :) |
Problem bei der Umsetzung
morsche,
habe das jetzt mal getestet und im Prinzip funktioniert es auch, bis auf eine Ausnahme: Wenn ich Parameter innerhalb einer include, require, o.ä. Funktion an die zu öffnende URL anhänge, gibt's eine Fehlermeldung. PHP-Code:
Warning: main(katalog_produktdetails.php?aid=5): failed to open stream: No such file or directory in [...]/statics_produktdetails.php on line 28 Warning: main(): Failed opening 'katalog_produktdetails.php?aid=5' for inclusion (include_path='.') in [...]/statics_produktdetails.php on line 28 Mache ich das Ganze mit PHP-Code:
Danke schonmal... Gruß, morsche |
Hi,
wenn Du eine Datei includest ""erbt"" diese sämtliche vorher im aufrufenden Skript bekannten Variablen sowie deren Werte. Sprich: ein include("datei?variable=wert") ist unnötig, da Du in der includierten Datei direkt mit echo $variable den Wert "wert" angezeigt bekommst. HTH, Andy |
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:17:59 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.