PHP缓存技术OB系统函数-- 与Linux静态缓存与局部缓存

①ob_start()函数:打开输出缓冲区.
函数格式
void ob_start(void)

说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

②存放在cache目录下,将来所有的缓存文件都放到该目录下


②.在要做静态缓存的页面,我们定义一个变量来存放一个缓存文件的路径(相对于当前页面的路径)

[html]  view plain  copy
  1. $filename = "./cache/test.html";  

③定义一个变量来存储缓存过期时间

[html]  view plain  copy
  1. $cachetime = 60;  

④.判断一下,缓存文件是否存在或者是否过期,如果缓存文件不存在就执行源代码生成缓存,或者时间过期了也应该重新缓存一下,如果不可以调用缓存页面

[html]  view plain  copy
  1. if(!file_exists($filename) || filemtime($filename)+$cachetime<time())  
  2. {  
  3.     //缓存页面代码  
  4. }  
  5. else  
  6. {  
  7.     include($filename);//如果存在,调用缓存文件  
  8. }  

⑤.生成缓存,在页面输出内容之前,我们调用ob_start()方法打开内存缓冲区,将要输出的内容放到内存里面

[html]  view plain  copy
  1. ob_start();  

⑥.在页面输出完之后,将内存中获取到的内容保存下来,存为一个静态页面。

[html]  view plain  copy
  1. //从内存缓存中获取页面代码  
  2. $content = ob_get_contents();  
  3.       
  4. //将获取到的内容存放到缓存文件  
  5. file_put_contents($filename,$content);  
  6.        
  7. //清掉内存缓存  
  8. ob_flush();  

7.测试是否重新缓存了,如果页面有输出该内容代表重新生成了缓存文件,如果没有,说明是直接读的缓存文件

[html]  view plain  copy
  1. echo "huancun";    

2.    需要   fopen 开启   fwrite  写入  fclose 关闭 

[plain]  view plain  copy
  1. 打开模式    说明  
  2. r   只读,并将文件指针指向文件开始位置  
  3. r+  读写,将文件指针指向文件开始位置  
  4. w   只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之  
  5. w+  读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之  
  6. a   追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之  
  7. a+  读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之  
  8. x   只写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE  
  9. x+  读写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE  

linux 中的静态缓存  

linux 中   需要  开启   权限   \html   

    在Linux中,权限的所有者分为用户权限,组权限和其他权限

     权限分为:读 r , 写 w , 执行 x.

    权限都可以用数字来表示:r 4, w 2 , x 1, 

    代码如下:

            chmod -R 777 某文件夹/文件.

猜你喜欢

转载自blog.csdn.net/x_xiaodeng/article/details/80383602