Home  >  Article  >  Backend Development  >  ThinkPHP file caching class code sharing_PHP tutorial

ThinkPHP file caching class code sharing_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:56:191073browse

ThinkPHP file caching code sharing

 ThinkPHP file caching code sharing

The file cache code taken from ThinkPHP, there is not much nonsense here, let's read the annotation by yourself.

 ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

/**

* @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');

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
<🎜>/**<🎜> <🎜>* @desc file caching<🎜> <🎜>*/<🎜> <🎜>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 expiration time */ 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 'The 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->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');

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/988368.htmlTechArticleThinkPHP file caching class code sharing ThinkPHP file caching class code sharing is taken from ThinkPHP file caching class code, not here What nonsense, friends, please read the comments yourself. ? 1 2...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn