返回ThinkPH......登陆

ThinkPHP文件缓存类代码分享

巴扎黑2017-02-04 10:26:51402

本文给大家分享的是取自ThinkPHP中的关于文件缓存类的代码,非常的实用,效率也非常不错,这里推荐给大家,有需要的小伙伴参考下。

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

<?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');

更多关于ThinkPHP文件缓存类代码分享请关注PHP中文网(www.php.cn)其他文章!

最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送