①ob_start()函数:打开输出缓冲区.
函数格式
void ob_start(void)
函数格式
void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
②存放在cache目录下,将来所有的缓存文件都放到该目录下
②.在要做静态缓存的页面,我们定义一个变量来存放一个缓存文件的路径(相对于当前页面的路径)
$filename = "./cache/test.html";
③定义一个变量来存储缓存过期时间
$cachetime = 60;
④.判断一下,缓存文件是否存在或者是否过期,如果缓存文件不存在就执行源代码生成缓存,或者时间过期了也应该重新缓存一下,如果不可以调用缓存页面
if(!file_exists($filename) || filemtime($filename)+$cachetime<time())
{
//缓存页面代码
}
else
{
include($filename);//如果存在,调用缓存文件
}
⑤.生成缓存,在页面输出内容之前,我们调用ob_start()方法打开内存缓冲区,将要输出的内容放到内存里面
ob_start();
⑥.在页面输出完之后,将内存中获取到的内容保存下来,存为一个静态页面。
//从内存缓存中获取页面代码
$content = ob_get_contents();
//将获取到的内容存放到缓存文件
file_put_contents($filename,$content);
//清掉内存缓存
ob_flush();
7.测试是否重新缓存了,如果页面有输出该内容代表重新生成了缓存文件,如果没有,说明是直接读的缓存文件
echo "huancun";
2. 需要 fopen 开启 fwrite 写入 fclose 关闭
打开模式 说明
r 只读,并将文件指针指向文件开始位置
r+ 读写,将文件指针指向文件开始位置
w 只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
w+ 读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
a 追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
a+ 读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
x 只写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE
x+ 读写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE
linux 中的静态缓存
linux 中 需要 开启 权限 \html
在Linux中,权限的所有者分为用户权限,组权限和其他权限
权限分为:读 r , 写 w , 执行 x.
权限都可以用数字来表示:r 4, w 2 , x 1,
代码如下:
chmod -R 777 某文件夹/文件.