[PHP]Caching bei zeitaufwendigen Scripts

Hellraiser

Lt. Junior Grade
Registriert
Juli 2001
Beiträge
459
PHP:
$fp = fopen("cachefile.html","w+");
fwrite($fp,readfile("myphpscript.php"));
fclose($fp);

Leider funktioniert dieser Code nicht, es wird nur ein Zahlenwert in die cachefile geschrieben. Geschrieben soll jediglich nur die html ausgabe des scripts, nicht der code des scriptes. Wäre es irgendwie auf diese Art möglich eine cachefile zu schreiben ?
 
Ich habe mich damit eigentlich noch nie beschäftigt, aber schau dir mal die ob_*-Funktionen an.
PHP:
ob_start();
include( "zu_cachende_datei.php" );
$content = ob_get_contents();
ob_end_clean();
In $content sollte jetzt der Ausgabe-Code der zu cachenden Datei sein, den du in eine Datei schreiben kannst. Ich habe es nicht getestet, aber so in der Richtung könnte es funktionieren! :)
 
geil, es hat funktioniert, ausser das include, aber das hab ivh auf andere weise ersetzt. cool! :)

hier kannst du dir mal anschaun wofür ich in letzter zeit die hilfe brauchte:
http://www.uni-hildesheim.de/rz/raumplan

wird zur raumreservierung benutzt, als admin kann man dort jede tabellenzelle mit einer farbe belegen, welche für eine bestimmte gruppe steht.
 
PHP:
if ($cmd == "htmlfile") ob_start();
am anfang des scriptes und
PHP:
if ($cmd == "htmlfile") $content = ob_get_contents(); $ob_end_clean();
am Ende des Scriptes, und danach
PHP:
$fp = fopen("index.html","w+");
fwrite($fp,$content);
fclose($fp);

meinst du ich sollte es folgendermaßen schreiben ?:
PHP:
eval(include("script.php"));
 
meinst du ich sollte es folgendermaßen schreiben ?
Nein, das mit dem eval() bezog sich darauf, dass du gesagt hast, dass du das include() durch etwas anderes ersetzt hättest. Zum Beispiel den Inhalt der Datei erst mit readfile() einlesen und dann mit eval() den enthaltenen Code ausgeführen.
 
ne, ich habs wie oben beschrieben gemacht, einfach mit einer variable abfragen ob er beim aufbau des scriptes gleich die html file dazu schreiben soll, funktioniert gut, danke!
 
Zurück
Oben