Mailinglisten-Archive |
> 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