缓存一个页面
test.php
<?php//定义该页面缓存文件存放的路径 $filename = "../cache/cachetest.html";//定义缓存有效期 $cachetime = 5;//判断缓存文件是否存在 if(!file_exists($filename) || filemtime($filename)+$cachetime<time()) {//开启内存缓存ob_start();include("../init.inc.php");include("../DBDA.php");$db = new DBDA();$sql = "select * from car";$attr = $db->Query($sql);$smarty->assign("car",$attr);$smarty->display("test.html");//从内存缓存中获取页面代码$content = ob_get_contents();//将获取到的内容存放到缓存文件file_put_contents($filename,$content);//清掉内存缓存ob_flush();echo "######################################";} else {include($filename); }
test.html
<body> <h1>汽车信息</h1> <table width="100%" border="1" cellpadding="0" cellspacing="0"><tr><td>代号</td><td>汽车名称</td><td>油耗</td><td>价格</td></tr><{foreach $car as $v}><tr><td><{$v[0]}></td><td><{$v[1]}></td><td><{$v[4]}></td><td><{$v[7]}></td></tr><{/foreach}></table> </body>
分页缓存
testa.php
<?php//取当前页 $p=1; if(!empty($_GET["page"])) {$p = $_GET["page"]; } //定义缓存文件存放路径 $filename = "../cache/cahetesta{$p}.html";//判断 if(!file_exists($filename) || filemtime($filename)+30<time()) {ob_start();include("../init.inc.php");include("../DBDA.php");$db = new DBDA();include("page.class.php");$szs = "select count(*) from car";$zs = $db->StrQuery($szs);$page = new Page($zs,5);$xinxi = $page->fpage();$sql = "select * from car ".$page->limit;$attr = $db->Query($sql);$smarty->assign("car",$attr);$smarty->assign("xinxi",$xinxi);$smarty->display("testa.html");$nr = ob_get_contents();file_put_contents($filename,$nr);ob_flush();echo "################################################"; } else {include($filename); }
testa.heml
<body> <h1>汽车信息</h1> <table width="100%" border="1" cellpadding="0" cellspacing="0"><tr><td>代号</td><td>汽车名称</td><td>油耗</td><td>价格</td></tr><{foreach $car as $v}><tr><td><{$v[0]}></td><td><{$v[1]}></td><td><{$v[4]}></td><td><{$v[7]}></td></tr><{/foreach}></table> <div><{$xinxi}></div> </body>