加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP文件缓存类示例分享

发布时间:2020-12-13 02:23:09 所属栏目:PHP教程 来源:网络整理
导读:《:PHP文件缓存类示例分享》要点: 本文介绍了:PHP文件缓存类示例分享,希望对您有用。如果有疑问,可以联系我们。 代码如下: ?php ??? /** ???? * @desc 文件缓存 ???? */ ??? class Cache{ ??????? const C_FILE = '/Runtime/'; ??????? private $dir =

《:PHP文件缓存类示例分享》要点:
本文介绍了: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');

欢迎参与《PHP学习:PHP文件缓存类示例分享》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读