在PHP页面
定义该页面缓存文件存放的路径
$filename="../cache/cachecar{$p}.html";
定义缓存的有效期
$cachetime=10;
判断缓存文件是否存在 文件上次修改时间filemtime()
if(!file_exists($filename) || filemtime($filename)+$cachetime<time())
{
开启内存缓存,把页面的所有输出放到内存中
ob_start();
从内存缓存中获取页面代码
$content=ob_get_contents();
将获取到的内容存放在缓存文件
file_put_contents($filename,$content);
清掉内存缓存
ob_flush();
}
else
{
include($filename);
}
一个分页显示的应用缓存技术的实例
<?php //取当前页 $p=1; if(!empty($_GET["page"])) { $p=$_GET["page"]; } //定义该页面缓存文件存放的路径 $filename="../cache/cachecar{$p}.html"; //定义缓存的有效期 $cachetime=10; //判断缓存文件是否存在 文件上次修改时间filemtime() if(!file_exists($filename) || filemtime($filename)+$cachetime<time()) { //开启内存缓存,把页面的所有输出放到内存中 ob_start(); include("../init.inc.php"); include("../DBDA.php"); include("../page.class.php"); $db=new DBDA(); //查总条数 $szs="select count(*) from car"; $zs=$db->StrQuery($szs); //造分页对象 $page=new Page($zs,5); $sql="select * from car ".$page->limit; $car=$db->Query($sql); //取分页信息 $xinxi=$page->fpage(); $smarty->assign("car",$car); $smarty->assign("xinxi",$xinxi); $smarty->display("huancun.html"); //从内存缓存中获取页面代码 $content=ob_get_contents(); //将获取到的内容存放在缓存文件 file_put_contents($filename,$content); //清掉内存缓存 ob_flush(); echo "************************************"; } else { include($filename); }