<?php
/**
* 文件缓存类
*
* @author 废墟
* @version v1.01 2009-08-18
* @link http://anerg.cn/
*/
class cache {
private $cache_time;
private $cache_dir;
public function __construct($cache_dir = './cache/', $cache_time = 3600) {
$this->cache_time = $cache_time;
$this->cache_dir = $cache_dir;
}
public function set_cache_dir($cache_dir) {
$this->cache_dir = $cache_dir;
}
public function set_cache_time($cache_time) {
$this->cache_time = $cache_time;
}
public function get_cache($cache_file) {
$_CACHE = array();
$filename = $this->cache_dir.'/'.$cache_file.".cache.php";
if(!file_exists($filename) || time() - filemtime($filename) > $this->cache_time) {
return false;
} else {
return unserialize(file_get_contents($filename));
}
}
public function set_cache($cache_file,$data) {
$filename = $this->cache_dir.'/'.$cache_file.".cache.php";
if( $this->mkpath($this->cache_dir) ) {
$out = serialize($data);
file_put_contents($filename, $out);
}
}
public function del_cache($cache_file) {
return unlink($this->cache_dir.'/'.$cache_file.".cache.php");
}
public function mkpath($dir) {
return is_dir($dir) or ($this->mkpath(dirname($dir)) and (mkdir($dir, 0777) and chmod($dir,0777)));
}
}
//
//$cache = new cache();
//$cache->set_cache_dir('./cache/ss/ff/mm/');
//$cache->set_cache_time(10);
//$cache_file = '321ewqe3412132';
//$data = array("1ee"=>"teseweq222ewt");
//$cache->set_cache($cache_file, $data);
//print_r($cache->get_cache($cache_file));
?>