//静态模板生成目录
protected $staticHtmlDir="";
//静态文件
protected $staticHtmlFile="";
//判断是否存在静态
public function beforeBuild($param=[])
{
//生成静态
$this->staticHtmlDir="html".DS.$this->request->controller().DS;
//参数md5
$param = md5(json_encode($param));
$res = $this->staticHtmlFile=$this->staticHtmlDir.$this->request->action().'_'.$param.'.html';
//目录不存在,则创建
if (!file_exists($this->staticHtmlDir)){
mkdir($this->staticHtmlDir);
}
//静态文件存在,并且没有过期
if (file_exists($this->staticHtmlFile)&&filectime($this->staticHtmlFile)>=time()-60*60*24*5){
header("Location:/".$this->staticHtmlFile);
exit();
}
}
//开始生成静态文件
public function afterBuild($html)
{
if (!empty($this->staticHtmlFile)&&!empty($html)){
if (file_exists($this->staticHtmlFile)){
\unlink($this->staticHtmlFile);
}
if (file_put_contents($this->staticHtmlFile,$html)){
header("Location:/".$this->staticHtmlFile);
exit();
}
}
}
public function getList($id="")
{
//判断静态界面是否存在
$this->beforeBuild(array($id));
$name="测试静态化";
//生成静态界面
//$html = view('api/test924/index',['name'=>$name]);
$html = View::fetch('api/test924/index',['name'=>$name]);
$this->afterBuild($html);
}
TP6生成静态化页面
最新推荐文章于 2024-06-20 20:07:33 发布