因項目中有的頁面要做競價推廣,需要使用靜態頁面,這裏採用最簡單的方法,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>