<?php
//封装静态缓存的存储,获取,删除;调用cacheData方法
class File{
//定义缓存的文件路径$_dir;
private $_dir;
//定义常量EXT为文件的后缀;
const EXT = '.php';
public function __construct(){
//默认的文件缓存路径为当前文件夹下的/files/下,首先获取当前文件的文件地址
$this->_dir = dirname(__FILE__).'/files/';
}
/**
* @param $key string 文件名称
* @param $value string 缓存的内容,如果需要获取则不需要第二个参数,如需删除请将该参数设为null
* @param $path string 文件夹名称
*/
public function cacheData($key,$value = '',$path = ''){
$filename = $this->_dir.$path.$key.self::EXT;
if($value !== ''){
//判断用户是否需要删除缓存
if(is_null($value)){
return unlink($filename);
}
//将value值写入缓存,首先判断文件是否存在,不存在则创建
$dir = dirname($filename);
if(!is_dir($dir)){
mkdir($dir,0777);
}
//将缓存内容写入文件
//file_put_content写入内容必须为字符串
//如果写入成功返回写入字节数,如果写入失败则返回false;
return file_put_contents($filename,json_encode($value));
}
//读取缓存,如果文件不存在返回false,否则将缓存读取
if(!is_file($filename)){
return FALSE;
}else{
return json_decode(file_get_contents($filename),true);
}
}
}
$data = array(
'id' => 1,
'name' => 'xiaozhao',
);
$file = new File();
if($file->cacheData('index_cache',$data)){
echo 'success';
}else{
echo 'error';
}
静态缓存
最新推荐文章于 2018-10-23 15:26:04 发布