A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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:前台代码(有点简陋哦)
  • -->

1 个回复

倒序浏览
奈斯,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马