php教程文件缓存实例代码

缓存在实际使用当中应用很广泛,可以减轻对服务器数据库教程的访问,提高运行速度。目前很多cms内容管理系统中频繁使用缓存机制来提高系统运行的效率

cache.php 代码如下:

php代码

/*

用户需要事先定义的常量:

_cachepath_        模板缓存路径

_cacheenable_        自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制

_recachetime_        自动重新缓存间隔时间,单位为秒,未定义或为空,表示关闭自动重新缓存

*/

class cache {

var $cachefile;

var $cachefilevar;

function cache() {

//生成当前页的cache组文件名 $this->cachefilevar 及文件名 $this->cachefile

//动态页的参数不同对应的cache文件也不同,但是每一个动态页的所有cache文件都有相同的文件名,只是扩展名不同

$s=array(".","/");$r=array("_","");

$this->cachefilevar=str_replace($s,$r,$_server["script_name"])."_".$_get[_actionvar_];

$this->cachefile=$this->cachefilevar.".".md5($_server["request_uri"]);

}

//删除当前页/模块的缓存

function delete() {

//删除当前页的缓存

$d = dir(_cachepath_);

$strlen=strlen($this->cachefilevar);

//返回当前页的所有cache文件组

while (false !== ($entry = $d->read())) {

if (substr($entry,0,$strlen)==$this->cachefilevar) {

if (!unlink(_cachepath_."/".$entry)) {echo "cache目录无法写入";exit;}

}

}

}

//判断是否已cache过,以及是否需要cache

function check() {

//如果设置了缓存更新间隔时间 _recachetime_

if (_recachetime_+0>0)        {

//返回当前页cache的最后更新时间

cachefilevar);$var=$var[0">$var=@file(_cachepath_."/".$this->cachefilevar);$var=$var[0];

//如果更新时间超出更新间隔时间则删除cache文件

if (time()-$var>_recachetime_) {

$this->delete();$ischage=true;

}

}

//返回当前页的cache

$file=_cachepath_."/".$this->cachefile;

//判断当前页cache是否存在 且 cache功能是否开启

return (file_exists($file) and _cacheenable_ and !$ischange);

}

//读取cache

function read() {

//返回当前页的cache

$file=_cachepath_."/".$this->cachefile;

//读取cache文件的内容

if (_cacheenable_) return readfile($file);

else return false;

}

//生成cache

function write($output) {

//返回当前页的cache

$file=_cachepath_."/".$this->cachefile;

//如果cache功能开启

if (_cacheenable_) {

//把输出的内容写入cache文件

$fp=@fopen($file,'w');

if (!@fputs($fp,$output)) {echo "模板cache写入失败";exit;}

@fclose($fp);

//如果设置了缓存更新间隔时间 _recachetime_

if (_recachetime_+0>0) {

//更新当前页cache的最后更新时间

$file=_cachepath_."/".$this->cachefilevar;

$fp=@fopen($file,'w');

if (!@fwrite($fp,time())) {echo "cache目录无法写入";exit;}

@fclose($fp);

}

}

}

}

?>

使用过程:

php代码

php文件缓存代码,php文件缓存实例代码相关推荐

  1. java代码实现文件扫描_JAVA文件扫描(递归)的实例代码

    具体代码如下所示: import java.io.File; public class Scan { public static void main(String[] args) { String f ...

  2. java的多态代码例子_java 多态实例代码

    多态是同一个行为具有多个不同表现形式或形态的能力.多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现,比如: 在现实中,我们按下F1键这个动作: 如果当前在Flash界 ...

  3. php注册登录代码初学,php 用户注册实例代码,适合初学者_PHP教程

    php教程 用户注册实例代码,适合初学者 if($_POST[submit]){ checkusername($_POST[username]); if($_SESSION["code&qu ...

  4. python聊天程序程序代码_python聊天程序实例代码分享

    代码简单,直接看代码吧: 代码如下: import socket import threading import re #import Tkinter def ser(): s=socket.sock ...

  5. python保存为mat文件_Python读取mat文件保存为pickle格式的实例代码

    Python使用pickle模块储存对象操作 Python读取mat文件,并保存为pickle格式的方法 这两天在搞Theano,要把mat文件转成pickle格式载入Python. Matlab是把 ...

  6. 前端文件表单/ajax上传实例代码

    表单上传文件 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF ...

  7. jq修改iframe html代码,jQuery控制iFrame(实例代码)

    用jquery在IFRAME里取得父窗口的某个元素的值 只好用DOM方法与jquery方法结合的方式实现了 1.在父窗口中操作 选中IFRAME中的所有单选钮 $(window.frames[&quo ...

  8. php qq登陆网站实例代码,QQ登陆网站实例代码

    现在这种第三方登录的应用很广泛也很方便.省得用户进行注册了.现在把QQ登录的方法和步骤记录一下,以备使用时方便. 第一步,到http://connect.qq.com/intro/login/这里去申 ...

  9. python堆排序算法代码_python堆排序算法实例代码

    python 实现堆排序算法代码,需要的朋友可以参考下 代码如下:#!/usr/bin/python import sys def left_child(node): return node * 2 ...

  10. oracle数据库查询代码,ORACLE数据库查询表实例代码

    一,查询表基本信息 select utc.column_name,utc.data_type,utc.data_length,utc.data_precision, utc.data_Scale,ut ...

最新文章

  1. C/C++各种数据类型转换汇总
  2. 吉大20春学期C语言程序设计作业二,吉大18春学期《C语言程序设计》在线作业二【答案】...
  3. 【Groovy】构建工具 ( 构建工具引入 | Gradle 构建工具作用 | 传统的依赖管理 )
  4. SPOJ 1812 LCS2 - Longest Common Substring II (后缀自动机)【两种做法】
  5. d3 v4 api transitions
  6. 团队博客 第三周 设计类图
  7. paip.DEVSUIT ADMIN 初次使用时出现两个LICENSE提醒
  8. MindMaster for Mac(亿图思维导图)
  9. IC面试数字电路基础
  10. 小米平板2装win10(附驱动)
  11. win7未能成功安装驱动服务器,ghost win7未能成功安装设备驱动程序怎么办解决方法...
  12. Win10下AutoCAD2014 +VS2010 + Object2014 安装与配置环境
  13. SigFox Vs. LoRa:技术和商业模式之间的比较
  14. 西达摩花魁咖啡豆名字来源
  15. 史上最全Java开发手册!!!阿里出版
  16. C++/JAVA 计算两篇文章的相似度
  17. 语音视频社交中回声消除技术是如何实现的
  18. Python 3 之 Chrom 截获的Headers转成dict格式
  19. 项目章程的主要内容#软考高级信息系统项目管理师/高项读书笔记#3
  20. 粤港澳大湾区第一届量子科技与产业应用研讨会在穗成功举办

热门文章

  1. 其他大神的配置 nginx 配置参考
  2. PHP 正则表达式分割 preg_split 与 split 函数
  3. 开发第一个spring boot应用
  4. 10 进制转 2 进制、16 进制
  5. 老码农:如何写出让自己满意的代码
  6. MYSQL进入客户端后切换服务器的简单做法试验
  7. netflix的准实验面临的主要挑战
  8. 559. N 叉树的最大深度
  9. 尼古拉斯 android_圣尼古拉斯和Alexa的访问
  10. select ...as_一起使用.select .map和.reduce方法可充分利用Ruby