Embora existam muitos métodos, eles são simples e fáceis de usar. Acho que é mais fácil primeiro julgar a diferença entre o tempo de geração do arquivo da página inicial e o tempo existente. Se um determinado valor for atingido, comece a gerá-lo. Sem mais delongas, vamos começar!
Antes de começarmos, vamos mencionar três funções: "ob_start(), ob_end_clean(), ob_get_contents()"
ob_start(): abre o buffer, que serve para armazenar em cache o conteúdo do arquivo estático que você precisa gerar aqui;
ob_get_contents(): lê o conteúdo do buffer. O código a seguir é um exemplo;
ob_end_clean(): Isso é mais importante. Somente após usar esta função, o conteúdo do buffer será lido; copie o conteúdo para o código da área de transferência:
if(file_exists("./index.htm"))//see static Does; o arquivo index.htm existe?
{
$time=time(); //Se o horário de modificação do arquivo for diferente do horário atual?, direto para o arquivo htm, caso contrário, gere novamente o htm
if($time-filemtime("./index.htm")< 600)
{
header("Local:classhtml/main.htm");
}
//Adicione ob_start() no início; CHINAZ
//O conteúdo da página inicial é sua parte dinâmica
//Adicione ob_end_clean() no final e envie esta página para uma variável
$temp=ob_get_contents();
ob_end_clean();
//Escreve no arquivo
$fp=fopen("./index.htm",'w');
fwrite($fp,$temp) ou die('Erro de gravação de arquivo');
//echo "Geração de HTML concluída!";