이 글은 ThinkPHP에서 가져온 파일 캐싱 클래스 코드를 공유합니다. 필요한 경우 누구나 참고할 수 있는 매우 실용적이고 효율적인 코드입니다.
ThinkPHP의 파일 캐싱 코드에서 따온 건데, 여기에는 별 말도 안 되는 내용이 많을 것입니다. 여러분, 그냥 댓글을 직접 읽어보세요.
<?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');
위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 권장사항:
thinkphp는 모델 일반 데이터 편집을 사용하여 추가 및 삭제
ThinkPhp 프레임워크 양식 유효성 검사 및 Ajax 유효성 검사 문제에 대한 분석
위 내용은 ThinkPHP 파일 캐싱 클래스에 대한 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!