This article to you to share is taken from the thinkphp in the file cache class code, very practical, very good efficiency, here is recommended to everyone, there is a need for the small partners under the reference.
The file cache class code taken from thinkphp, here is not much nonsense, the small partners to read the comments.
<?php/** * @desc File Cache */class cache{const C_file = '/runtime/'; Private $dir = '; Const EXT = '. TPL '; Private $filename = '; Public function __construct ($dir = ") {$this->dir = $dir; }/** * @desc set File cache * @param string $key file name * @param unkonw $data Cache data * @param int $expire 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 get file * @param string $key file name */Public function get ($key) {//$filename = DirName (__file__). Self::c_file. $this->dir. $key. Self::ext; if (!file_exists ($this->filename)) {return ' cache file no longer exists '; }else{$res = file_get_contents ($this->filename); } return $res; }/** * @desc Delete file * @param string $key file name */Public Function del ($key) {unlink ($this->filenam e); }} $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 ');
The above is the whole content of this article, I hope that everyone's learning has helped, more relevant content please pay attention to topic.alibabacloud.com!