ThinkPHP实现一键清除缓存方法
2015-01-24信息快讯网
这篇文章主要介绍了ThinkPHP实现一键清除缓存方法,需要的朋友可以参考下
很多的开源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中I(),U(),$this->post()等函数用法
ThinkPHP中处理表单中的注意事项
ThinkPHP中自定义错误页面和提示页面实例
thinkphp使用literal防止模板标签被解析的方法
ThinkPHP控制器里javascript代码不能执行的解决方法
php文件缓存类汇总
php禁止浏览器使用缓存页面的方法
PHP文件缓存内容保存格式实例分析
php中操作memcached缓存进行增删改查数据的实现代码
一个简洁实用的PHP缓存类完整实例
ThinkPHP实现将本地文件打包成zip下载
destoon实现商铺管理主页设置增加新菜单的方法
php采用curl访问域名返回405 method not allowed提示的解决方法
Thinkphp使用mongodb数据库实现多条件查询方法
ThinkPHP页面跳转success与error方法概述
修改ThinkPHP缓存为Memcache的方法
ThinkPHP的截取字符串函数无法显示省略号的解决方法
ThinkPHP多表联合查询的常用方法
Zend Framework页面缓存实例
Smarty局部缓存的几种方法简介
smarty模板局部缓存方法使用示例
ThinkPHP缓存方法S()概述