Die geplante Generierung weist jedoch einige Einschränkungen auf. Wenn Sie über einen unabhängigen Server verfügen, können Sie geplante Aufgaben auf dem Server einrichten. Wenn Sie jedoch einen virtuellen Host verwenden, ist dies schwierig Es ist einfacher, zunächst den Unterschied zwischen der Generierungszeit der generierten Homepage-Datei und der vorhandenen Zeit zu beurteilen. Beginnen wir mit der Generierung.
Ich habe es online gefunden, erinnere dich daran. Die Praxis hat bewiesen, dass es verfügbar ist.
<?php $nowtime=time(); $pastsec = $nowtime – $_GET["t"]; if($pastsec<60) { exit; //1分钟更新一次,时间可以自己调整 } ob_start(); //打开缓冲区 include(”index.php”); $content = ob_get_contents(); //得到缓冲区的内容 $content .= “n<script language=javascript src=”f5.php?t=”.$nowtime.”"></script>”; //加上调用更新程序的代码 file_put_contents(”index.html”,$content); if (!function_exists(”file_put_contents”)) { function file_put_contents($fn,$fs) { $fp=fopen($fn,”w+”); fputs($fp,$fs); fclose($fp); } }
Hier einige Erklärungen:
Bevor wir beginnen, erwähnen wir drei Funktionen: „ob_start(), ob_end_clean(), ob_get_contents()“
ob_start():是打开缓冲区的,就是要把你需要生成的静态文件的内容缓存在这里; ob_get_contents():是读出缓冲区里的内容,下面有代码为例; ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;
[code ]
if(file_exists("./index.htm"))//Überprüfen Sie, ob die statische index.htm-Datei existiert
{
$time=time(
/ / Wenn die Dateiänderungszeit von der aktuellen Zeit abweicht, wird sie an die HTM-Datei weitergeleitet, andernfalls wird die HTM neu generiert
if($time-filemtime("./index.htm")< 600)
{
header ("Location:classhtml/main.htm");
}
//Fügen Sie ob_start() an Ihrem Anfang hinzu; ();
//Homepage-Inhalt ist Ihr dynamischer Teil
//Fügen Sie ob_end_clean() am Ende hinzu und geben Sie diese Seite in eine Variable aus
$temp=ob_get_contents( ob_end_clean();
//Datei schreiben
$fp=fopen("./index.htm",'w');
fwrite($fp,$temp) oder die ('Fehler beim Schreiben der Datei');
//echo „HTML wird abgeschlossen!“