thinkphp实现清除缓存

1,328 阅读1分钟
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:前台代码(有点简陋哦)
  • -->