zoukankan      html  css  js  c++  java
  • 如何仿写thinkphp的S方法?

    代码:

    <?php
    $info=S("name","lizhaoyao");
    $name=S("name");
    var_dump($name);
    function S($key,$value='',$cache_time=86400)
    {
        $md=md5($key);//按照md5散列形式进行加密命名
        $dir="./Cache/";//定义缓存存放路径文件夹
        if (!is_dir($dir))
        {
            mkdir($dir,'0777');//首先检测文件夹是否存在
        }
        $file_name=$dir.$md;
        if($value==='')
        {
            //要取值出来
            if(file_exists($file_name))
            {
                $data=unserialize(file_get_contents($file_name));
                if($data['deadline']<time())
                {
                    @unlink($file_name);
                    return false;//过期了 删掉缓存
                }
                return $data['value'];
            }else
            {
                return false;
            }
        }else
        {
            //如果赋值为空 则将该缓存删除
            if($value===null)
            {
               return unlink($file_name);
            }
            //要存进去
            $data['value']=$value;
            $data['deadline']=time()+$cache_time;
            return file_put_contents($file_name,serialize($data));
        }
    }
    ?>

    截图:

  • 相关阅读:
    统计代码行数
    梯度下降算法
    multiplot 安装与配置
    ros 源码安装
    cmake 指定gcc/g++版本
    python 科学计算基础库安装
    协方差矩阵的含义
    pysvn 相关
    void 0与undefined
    BEM规范
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/4401989.html
Copyright © 2011-2022 走看看