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:前台代码(有点简陋哦)
<!--<html> <head> <title></title> <script language= "javascript" type= "text/javascript" src= "__PUBLIC__/js/jquery.js" ></script> <script type= "text/javascript" > $( function (){ $( '#button' ).click( function (){ if (confirm( "确认要清除缓存?" )) { var $type =$( '#type' ).val(); var $mess =$( '#mess' ); $.post( '__URL__/cache' ,{type: $type }, function (data){ alert( "缓存清理成功" ); }); } else { return false; } }); }); </script> </head> <body> <!-- <table border= "0" cellpadding= "2" cellspacing= "1" style= "width:100%" > <tr> <input type= "hidden" name= "type" id= "type" class = "text" style= "width:50px" value= "Cache-Data-Temp-Logs" /> <td nowrap align= "left" ><input type= "button" id= "button" class = "text" value= "点击一键清除所有" /></td> <td id= "mess" ></td> </tr> </table>--> </body>-->查看更多关于thinkphp 实现清除缓存 - Thinkphp的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did6455