利用ob緩存生成靜態文件

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章