php缓存的方法有很多,最简单的缓存方法就是使用框架。
先说一下smarty的方法:
首先设置缓存文件位置:
$filename = "../cache/huancun.html"; //缓存文件存放的位置
设置缓存间隔:
$time = 10; //缓存有效期10秒
判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在重新缓存:
if(file_exists($filename) && ((filemtime($filename)+$time)>= time()) ) { //直接调用缓存 include($filename); } else { //重新缓存 ob_start(); //开启内存缓存 代码部分。。。。。。。
$smarty->display("huancun.html");
$str = ob_get_contents(); //获取内存中的缓存内容
file_put_contents($filename,$str);
ob_flush(); //关闭内存缓存 }
如果要使用分页缓存的话需要修改为:
<?php $p = 1; if(!empty($_GET["page"])) { $p = $_GET["page"]; } $filename = "../cache/huancun{$p}.html"; //缓存文件存放的位置 $time = 10; //缓存有效期10秒 //判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在重新缓存 if(file_exists($filename) && ((filemtime($filename)+$time)>= time()) ) { //直接调用缓存 include($filename); } else { //重新缓存 ob_start(); //开启内存缓存 分页代码。。。。。。。。。 $smarty->display("huancun.html"); $str = ob_get_contents(); //获取内存中的缓存内容 file_put_contents($filename,$str); ob_flush(); //关闭内存缓存 }
同理,如果没有使用smarty模板。只要将ob_start()与ob_flush()之间的代码修改为普通php代码即可。