página da web estática

public function index(){
        $index_module_file = "static/html/module/index.html";  //静态页面模板文件路径
        $index_file = "static/html/index.html";   //生成静态页面文件路径
        $express_time = 3600*24*10;   //设置静态文件10天过期

        if(file_exists($index_file)){   //已存在静态页面
            $file_ctime = filectime($index_file); //获取静态文件创建时间

            if($file_ctime + $express_time > time() ){   //没有过期
                echo file_get_contents($index_file);    //直接输出静态文件
                exit;
            }else{    //已经过期
                unlink($index_file);  //删除静态页面文件
                ob_start();    //打开缓冲区
                include ($index_module_file);    //在缓冲区引入静态页面模板文件
                $content = ob_get_contents();    //获取缓冲区内容(生成的静态文件页面内容)
                file_put_contents($index_file,$content);   //写入内容到对应的静态文件中
                ob_end_flush();    //关闭缓冲区并输出缓存内容
            }
        }else{    //不存在静态页面,重复已经过期操作(除了删除静态页面文件)
            ob_start();
            include ($index_module_file);
            $content = ob_get_contents();
            file_put_contents($index_file,$content);   
            ob_end_flush();  
        }

    }

Etapas detalhadas: consulte os comentários no código ou as instruções a seguir

Etapas lógicas:

  1. Primeiro escreva um arquivo de modelo de página estática e armazene-o em um caminho estático (recomendado) para gerar uma página estática, ou seja, "static / html / module / index.html" no exemplo;
  2. O caminho do arquivo de página estática gerado por padrão é usado para determinar se a página estática em cache existe e se o tempo de criação expirou e precisa ser atualizado;
  3. Julgar se existe uma página estática, se existir, realizar o próximo passo (determinação do vencimento), se não existir, regenerar e enviar;
  4. Determine se a página estática expirou e precisa ser atualizada. Se expirar, será gerada novamente e gerada. Se não expirar, será gerada diretamente.

Etapas do arquivo de geração de buffer:

  1. Primeiro abra o buffer ob_start ();
  2. Após abrir o buffer, importe o arquivo de modelo "static / html / module / index.html" no buffer;
  3. Obtenha o conteúdo do buffer ob_get_contens ();
  4. Gerar arquivos estáticos file_put_contents ();
  5. Feche o buffer e envie o conteúdo do cache ob_end_flush ();

Acho que você gosta

Origin blog.csdn.net/weixin_43452467/article/details/112553267
Recomendado
Clasificación