标签:time() contents class ber 最简 pac name contain ace
php缓存的方法有很多,最简单的缓存方法就是使用框架。
先说一下smarty的方法:
首先设置缓存文件位置:
|
1
|
$filename = "../cache/huancun.html"; //缓存文件存放的位置 |
设置缓存间隔:
|
1
|
$time = 10; //缓存有效期10秒 |
判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在重新缓存:
|
1
2
3
4
5
6
7
8
9
10
11
|
if(file_exists($filename) && ((filemtime($filename)+$time)>= time()) ){ //直接调用缓存 include($filename);}else{ //重新缓存 ob_start(); //开启内存缓存 代码部分。。。。。。。<br> <br><br> $smarty->display("huancun.html"); |
$str = ob_get_contents(); //获取内存中的缓存内容
file_put_contents($filename,$str);
|
1
2
3
|
ob_flush(); //关闭内存缓存 } |
如果要使用分页缓存的话需要修改为:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?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代码即可。
标签:time() contents class ber 最简 pac name contain ace
原文地址:http://www.cnblogs.com/xingyue1988/p/6538481.html