①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 某文件夹/文件.