• 技术文章 >php框架 >ThinkPHP

    小白学习thinkphp记录之如何实现清除缓存

    藏色散人藏色散人2021-11-04 15:45:27转载81
    下面thinkphp框架教程栏目将给大家讲解thinkphp怎么实现清除缓存,希望对需要的朋友有所帮助!

    thinkphp实现清除缓存

    dedecms有清除缓存的功能于是下功夫去研究了一下,结果弄的我云里雾里,嗨....结果自己在网上查了一下,按照网站的自己写了一个清除缓存的功能.

    tp执行代码:

    //是获取要清楚的目录和目录所在的绝对路径
    public function cache(){
    ////前台用ajax get方式进行提交的,这里是先判断一下
    if($_POST['type']){
    //得到传递过来的值
    $type=$_POST['type'];
    //将传递过来的值进行切割,我是已“-”进行切割的
    $name=explode('-', $type);
    //得到切割的条数,便于下面循环
    $count=count($name);
    //循环调用上面的方法
    for ($i=0;$i<$count;$i++){
    //得到文件的绝对路径
    $abs_dir=dirname(dirname(dirname(dirname(__FILE__))));
    //组合路径
    $pa=$abs_dir.'\index\Runtime\\';
    $runtime=$abs_dir.'\index\Runtime\~runtime.php';
    if(file_exists($runtime))//判断 文件是否存在
    {
    unlink($runtime);//进行文件删除
    }
    //调用删除文件夹下所有文件的方法
    $this->rmFile($pa,$name[$i]);
    }
    //给出提示信息
    $this->ajaxReturn(1,'清除成功',1);
    }else{
    $this->display();
    }
    }
    public function rmFile($path,$fileName){//删除执行的方法
    //去除空格
    $path = preg_replace('/(\/){2,}|{\\\}{1,}/','/',$path);
    //得到完整目录
    $path.= $fileName;
    //判断此文件是否为一个文件目录
    if(is_dir($path)){
    //打开文件
    if ($dh = opendir($path)){
    //遍历文件目录名称
    while (($file = readdir($dh)) != false){
    //逐一进行删除
    unlink($path.'\\'.$file);
    }
    //关闭文件
    closedir($dh);
    }
    }
    }
    tp:前台代码(有点简陋哦)
    -->

    推荐:《最新的10个thinkphp视频教程

    以上就是小白学习thinkphp记录之如何实现清除缓存的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:juejin,如有侵犯,请联系admin@php.cn删除
    专题推荐:thinkphp
    上一篇:讲解thinkphp5.1如何实现多线程爬虫 下一篇:详解TP怎么配合phpmailer实现发邮件功能
    大前端线上培训班

    相关文章推荐

    • 简单聊聊Thinkphp中的URL路径• 关于thinkphp验证器的小测试• 一文讲解thinkphp5中是如何自定义全局异常• 讲解thinkphp5.1如何实现多线程爬虫

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网