当前位置:首页 > CMS教程 > Thinkphp > 列表

thinkphp 实现清除缓存

发布:smiling 来源: PHP粉丝网  添加日期:2014-04-12 08:44:07 浏览: 评论:0 

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

tp执行代码:

  1. //是获取要清楚的目录和目录所在的绝对路径 
  2.   public function cache(){ 
  3.         ////前台用ajax get方式进行提交的,这里是先判断一下 
  4.         if($_POST['type']){ 
  5.           //得到传递过来的值 
  6.             $type=$_POST['type']; 
  7.             //将传递过来的值进行切割,我是已“-”进行切割的 
  8.             $name=explode('-'$type); 
  9.             //得到切割的条数,便于下面循环 
  10.             $count=count($name); 
  11.            //循环调用上面的方法 
  12.             for ($i=0;$i<$count;$i++){ 
  13.                 //得到文件的绝对路径 
  14.                 $abs_dir=dirname(dirname(dirname(dirname(__FILE__)))); 
  15.                 //组合路径 
  16.                 $pa=$abs_dir.'\index\Runtime\\'
  17.                 $runtime=$abs_dir.'\index\Runtime\~runtime.php'
  18.                if(file_exists($runtime))//判断 文件是否存在 
  19.                { 
  20.                  unlink($runtime);//进行文件删除 
  21.                } 
  22.     //调用删除文件夹下所有文件的方法 
  23.                 $this->rmFile($pa,$name[$i]);    
  24.             } 
  25.            //给出提示信息 
  26.             $this->ajaxReturn(1,'清除成功',1); 
  27.         }else
  28.             $this->display(); 
  29.         } 
  30.     } 
  31.  public function rmFile($path,$fileName){//删除执行的方法 
  32.         //去除空格 
  33.         $path = preg_replace('/(\/){2,}|{\\\}{1,}/','/',$path);    
  34.         //得到完整目录    
  35.         $path.= $fileName
  36.         //判断此文件是否为一个文件目录 
  37.         if(is_dir($path)){ 
  38.             //打开文件 
  39.             if ($dh = opendir($path)){ 
  40.                 //遍历文件目录名称 
  41.                    while (($file = readdir($dh)) != false){ 
  42.                        //逐一进行删除 
  43.                        unlink($path.'\\'.$file); 
  44.                        } 
  45.                        //关闭文件 
  46.                       closedir($dh); 
  47.                 }    
  48.             } 
  49.     } 

tp:前台代码(有点简陋哦)

  1. <!--<html> 
  2. <head> 
  3. <title></title> 
  4. <script language="javascript" type="text/javascript" src="__PUBLIC__/js/jquery.js"></script> 
  5. <script type="text/javascript"
  6. $(function(){ 
  7.     $('#button').click(function(){ 
  8.         if(confirm("确认要清除缓存?")) { 
  9.         var $type=$('#type').val(); 
  10.         var $mess=$('#mess'); 
  11.         $.post('__URL__/cache',{type:$type},function(data){ 
  12.   alert("缓存清理成功"); 
  13.    }); 
  14.          }else
  15.                 return false; 
  16.             }   
  17.     }); 
  18. });      
  19. </script> 
  20. </head> 
  21. <body> 
  22.    <!-- <table border="0" cellpadding="2" cellspacing="1" style="width:100%"
  23.         <tr> 
  24.             <input type="hidden" name="type" id="type" class="text" style="width:50px" value="Cache-Data-Temp-Logs" /> 
  25.             <td nowrap align="left"><input type="button" id="button" class="text" value="点击一键清除所有" /></td> 
  26.             <td id="mess"></td> 
  27.         </tr> 
  28.     </table>--> 
  29. </body>--> 

Tags: thinkphp 缓存

分享到: