因项目中有的页面要做竞价推广,需要使用静态页面,这里采用最简单的方法,ob缓存和模板来完成
php接口
//$info为数据库中查询内容,即要存入缓存的内容
function makeStatic($companyname,$info) {
$statis_file = DT_ROOT."/static/company_file_".md5($companyname).".html";//生成的静态页文件
$expr = 3600*24*5;//静态文件有效期,五天
if(file_exists($statis_file)){
$file_ctime =filectime($statis_file);//文件创建时间
if($file_ctime+$expr > time()){
//如果没过期
file_get_contents($statis_file);//输出静态文件内容
return;
}else{
//如果已过期
unlink($statis_file);//删除过期的静态页文件
}
}
ob_start();
//数据库中读取数据
require_once DT_ROOT."/static/company_file.html";//生成静态页的模板
$content = ob_get_contents();//把详情页内容赋值给$content变量
file_put_contents($statis_file,$content);//写入到静态文件
ob_end_clean();//输出商品详情页信息
}
company_file.html静态页模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div class='text'>
<div class='pingfen'>
<div class='pingfen_l all'>
<p>A:基础信用分</p>
<p class="all test1 testa re"><?php echo $info['a_score']; ?></p>
<p>B:质量技术水平</p>
<p class="all test4 testa re"><?php echo $info['b_score']; ?></p>
<p>C:销售量及份额</p>
<p class="all test2 testa re"><?php echo $info['c_score']; ?></p>
</div>
</div>
</div>
</body>
</html>