phpbar.de logo

Mailinglisten-Archive

AW: [php] HTML-Seite speichern

AW: [php] HTML-Seite speichern

Beck, Mike php_(at)_phpcenter.de
Thu, 18 Oct 2001 11:44:21 +0200


> Hallo Liste!
>=20
> Vielleicht ist das eine ganz bl=F6de Frage, aber mir fehlt=20
> irgendwie der Ansatz.
>=20
> Ich m=F6chte eine HTML-Seite abspeichern, nachdem ich sie mit=20
> PHP erzeugt habe. Also nicht die Ursprungsseite mit dem=20
> PHP-Code, sondern das, was danach heraus kommt.=20
> Die Seite=20
> soll dann als HTML-Dokument in der Datenbank wieder abrufbar sein.
>=20
na bl=F6d ist die frage sicherlich nicht. Wenn Du das aus =
Performancegr=FCnden
machen willst, dann ist das etwas was oft erforderlich ist und was =
teils
nicht ganz trivial ist. Erst mal solltest Du dir aber Gedanken machen =
ob Du
das wirklich brauchst und weshalb. Vor allem wieso Du die Seite dann in =
der
Datenbank abspeichern willst. Erstens meine ich sowieso hat sowas nix =
in der
Datenbank zu suchen (genausowenig wie z.B. Bilder) stattdessen w=FCrde =
ich die
Datei ganz 'normal' im Dateisystem abspeichern und mir nur den Pfad =
dahin in
der Datenbank abspeichern. Das ist performanter weil da alles nur das =
tut
worin es gut ist: das Dateisystems speichert Dateien, die Datenbank
speichert die Daten dazu.

Wozu willst Du das den machen? willst Du das aus Performancegr=FCnden? =
(da
w=FCrde ich mich, nachdem Du in deinem Posting  zu Sessions meintest =
dass Du
gerade erst mit PHP anf=E4ngst) fragen ob Du die Leistungsf=E4higkeit =
von PHP
nicht etwas untersch=E4tzt - nur sehr grosse sites sind da wirklich =
darauf
angewiesen, i.d.R. wirst Du wenn Du deine Datenbank ausreichend =
optimiert
hast sehr gut mit den paar Abfragen und dem Erstellen der Seite klar
kommen.)
Wenn Du es den aus Performancegr=FCnden brauchst kenne ich drei =
M=F6glichkeiten:

erstens: Du hast PHP als cgi zur Verf=FCgung kannst es somit auch als =
skript
von der Crontab laufen lassen (Linux.. unter Windows wird sowas =
hoffentlich
auch irgendwie gehen) dann kannst Du einfach einmal pro Nacht oder so =
ein
Skript laufen lassen, dass die HTML Seiten aus den PHP seiten erstellt =
und
in das eigentliche Webverzeichnis kopiert. Zugriffe laufen dann immer =
nur
auf diese Kopien.. bist dann halt nie wirklich aktuell.

zweitens: Zum Beispiel mit dem Apachewebserver k=F6nntest Du aber noch
eleganter werden: Du kannst ein PHP Skript als action-handler =
definieren f=FCr
einen bestimmten Dateityp (nennen wir es mal .cms) Wenn jemand eine =
.cms
datei vom server anfordert wird dann dieses Skript aufgerufen, das =
pr=FCft ob
mit dem Dateinamen eine .html datei existiert, und wie alt die ist, =
wenn es
nicht gef=E4llt schaut es nach der php datei in dem Verzeichnis, =
schreibt
deren ausgabe in eine .html gleichen Namens und schickt die.

drittens: Du nimmst fertige Cachingl=F6sungen. zum beispiel caching =
f=FCr PHP
wie es z.B. Zend anbietet, da wird zumindest das phpskript =
vorkompiliert im
Speicher gehalten, das reduziert die Serverlast erheblich

Wenn Du das ganze nicht aus performancegr=FCnden machen willst, sondern =
weil
Du irgendwelche alten St=E4nde abspeichern willst, dann solltest Du =
dich
fragen wo der Sinn darin liegt die komplette alte Seite in der DB zu
speichern, anstatt in deiner Datenbank deine Daten mit History zu =
verwalten.

--
Gru=DF

Mike Beck
mike.beck_at_ibmiller.de


php::bar PHP Wiki   -   Listenarchive