ThinkPHP文件缓存类代码分享
发布时间:2020-12-13 02:35:13 所属栏目:PHP教程 来源:网络整理
导读:《:ThinkPHP文件缓存类代码分享》要点: 本文介绍了:ThinkPHP文件缓存类代码分享,希望对您有用。如果有疑问,可以联系我们。 PHP实战 取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们本身看注释吧. PHP实战 ?php /** * @desc 文件缓存 */ class
《:ThinkPHP文件缓存类代码分享》要点: PHP实战取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们本身看注释吧. PHP实战
<?php
/**
* @desc 文件缓存
*/
class Cache{
const C_FILE = '/Runtime/';
private $dir = '';
const EXT = '.tpl';
private $filename = '';
public function __construct($dir = ''){
$this->dir = $dir;
}
/**
* @desc 设置文件缓存
* @param string $key 文件名
* @param unkonw $data 缓存数据
* @param int $expire 过期光阴
*/
public function set($key,$data,$expire = 0){
$this->filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;
if(file_exists($this->filename)){
$res = $this->get($key);
if(md5($res) == md5(json_encode($data) ) ){
return true;
}
}
if(!is_dir(dirname($this->filename))){
mkdir(dirname($this->filename),0777);
}
$source = fopen($this->filename,'w+');
fwrite($source,json_encode($data));
fclose($source);
}
/**
* @desc 获取文件
* @param string $key 文件名
*/
public function get($key){
//$filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;
if(!file_exists($this->filename)){
return '缓存文件已经不存在';
}else{
$res = file_get_contents($this->filename);
}
return $res;
}
/**
* @desc 删除文件
* @param string $key 文件名
*/
public function del($key){
unlink($this->filename);
}
}
$data = array('name'=>'song','age'=>20,'sex'=>'man','favority'=>array('apple','banana'));
$cache = new Cache();
$cache->set('cache',$data);
//$cache->get('cache');
//$cache->del('cache');
欢迎参与《:ThinkPHP文件缓存类代码分享》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |