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的最后更新时间
$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文件
fopen($file,'w'">$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
define("_cachepath_","./cache/");
define("_cacheenable_","1");
define("_recachetime_","43200");
include('cache.php');
$cache=new cache();
if ($cache->check()) {
$template=$cache->read();
}else {
ob_start();
ob_implicit_flush(0);
?>
页面内容。。。。
<?php
$template = ob_get_contents();
$cache->write($template);
}
?>
php文件缓存实例代码
时间: 2024-10-25 21:08:42
php文件缓存实例代码的相关文章
asp.net StreamReader 创建文件的实例代码
这篇文章介绍了asp.net StreamReader 创建文件的实例代码,有需要的朋友可以参考一下 复制代码 代码如下: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using
ThinkPHP文件缓存类代码分享
ThinkPHP文件缓存类代码分享 取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧. ? 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
php实现当前页面点击下载文件的实例代码_php实例
php控制器中代码 public function downFile($path = ''){ if(!$path) header("Location: /"); download($path); } download文件下载函数代码 function download($file_url,$new_name=''){ if(!isset($file_url)||trim($file_url)==''){ echo '500'; } if(!file_exists($file_url)
asp.net c写文件函数实例代码
asp教程.net c写文件函数实例代码 streamwriter 和 streamreader 向流写入字符并从流读取字符.下面的代码示例打开 log.txt 文件(如果文件不存在则创建文件)以进行输入,并将信息附加到文件尾.然后将文件的内容写入标准输出,以便显示出来. [c#] using system; using system.io; class dirappend { public static void main(string[] args) { streamwriter
php实现当前页面点击下载文件的实例代码
php控制器中代码 public function downFile($path = ''){ if(!$path) header("Location: /"); download($path); } download文件下载函数代码 function download($file_url,$new_name=''){ if(!isset($file_url)||trim($file_url)==''){ echo '500'; } if(!file_exists($file_url)
HttpClient通过Post上传文件的实例代码
在之前一段的项目中,使用Java模仿Http Post方式发送参数以及文件,单纯的传递参数或者文件可以使用URLConnection进行相应的处理. 但是项目中涉及到既要传递普通参数,也要传递多个文件(不是单纯的传递XML文件).在网上寻找之后,发现是使用HttClient来进行响应的操作,起初尝试多次依然不能传递参数和传递文件,后来发现时因为当使用HttpClient时,不能使用request.getParameter()对普通参数进行获取,而要在服务器端使用Upload来进行操作. Http
用PHP读取超大文件的实例代码
去年年底的各种网站帐号信息的数据库泄漏,很是给力啊,趁机也下载了几个数据库,准备学学数据分析家来分析一下这些帐号信息.虽然这些数据信息都已经被"整理"过的,不过自己拿来学习也挺有用的,毕竟有这么大的数据量. 数据量大带来的问题就是单个文件很大,能够打开这个文件相当不容易,记事本就不要指望了,果断死机.用MSSQL的客户端也打不开这么大的SQL文件,直接报内存不足,原因据说是MSSQL在读取数据的时候,是一次性地将读取到的数据放在内存中,如果数据量过大,而内存不足,则会直接导致系统瘫掉.
用PHP读取超大文件的实例代码_php实例
去年年底的各种网站帐号信息的数据库泄漏,很是给力啊,趁机也下载了几个数据库,准备学学数据分析家来分析一下这些帐号信息.虽然这些数据信息都已经被"整理"过的,不过自己拿来学习也挺有用的,毕竟有这么大的数据量. 数据量大带来的问题就是单个文件很大,能够打开这个文件相当不容易,记事本就不要指望了,果断死机.用MSSQL的客户端也打不开这么大的SQL文件,直接报内存不足,原因据说是MSSQL在读取数据的时候,是一次性地将读取到的数据放在内存中,如果数据量过大,而内存不足,则会直接导致系统瘫掉.
php opendir()列出目录下所有文件的实例代码
php opendir()函数用于打开目录,通常与readdir()和closedir()函数一起用来读取目录下所有文件(即遍历目录),本文章向大家介绍php使用opendir()函数列出目录下所有文件的实例. 实例一: 使用opendir()列出目录下所有文件 <?php $dr = @opendir('/tmp/'); if(!$dr) { echo "Error opening the /tmp/ directory!<BR>"; exit; } while((