ThinkPHP实现一键清除缓存方法
2014-06-26 15:15
543 查看
很多的开源cms系统都有一键清除缓存的功能,缓存是为了减轻服务器的压力而产生的,但是同时有缓存的存在也可能使一些数据不能实时更新,对此,我们就来实现一个ThinkPHP的清理缓存的功能。代码如下:
ThinkPHP后台执行的代码:
//获取要清楚的目录和目录所在的绝对路径 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.'indexRuntime'; $runtime=$abs_dir.'indexRuntime~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); } } }
前台页面部分代码如下:
<script type="text/javascript" src="__PUBLIC__/admin/js/jquery.js"></script> <script type="test/javascript"> $(function(){ $('#button').click(function(){ if(confirm("确认要清除缓存?")){ var $type=$('#type').val(); var $mess=$('#mess'); $.post('__URL__/clear',{type:$type},function(data){ alert("缓存清理成功"); }); }else{ return false; } }); }); </script>
您可能感兴趣的文章:
相关文章推荐
- ThinkPHP实现一键清除缓存方法
- ThinkPHP实现一键清除缓存方法
- thinkphp一键清除缓存的方法
- thinkphp一键清除缓存的方法
- ThinkPHP清除缓存--一键删除RUNTIME文件夹
- 利用反射函数实现一键清除缓存,并获取清除的缓存数目。调用反射函数类出错java.lang.NoSuchMethodException: getPackageSizeInfo.
- 采用ThinkPHP中F方法实现快速缓存实例
- 采用thinkphp中f方法实现快速缓存实例
- iOS中设置清除缓存功能的实现方法
- [置顶] Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能。
- 采用ThinkPHP中F方法实现快速缓存实例
- C#实现清除IE浏览器缓存的方法
- Android清除所有应用的缓存(包括系统应用)的两种实现方法
- iOS缓存文件大小显示功能和一键清理功能的实现方法
- iOS中设置清除缓存功能的实现方法
- Android一键清除其他应用缓存数据,有没有什么好方法?
- 清除aspx页面缓存的程序实现方法
- sqlserver 中一些常看的指标和清除缓存的方法
- ASP.net Substitution 页面缓存而部分不缓存的实现方法
- ajax清除缓存方法