ThinkPHP實現一鍵清除緩存方法
更新時間:2014年06月26日 15:15:48 投稿:shichen2014
這篇文章主要介紹了ThinkPHP實現一鍵清除緩存方法,需要的朋友可以參考下
很多的開源cms系統都有一鍵清除緩存的功能,緩存是為了減輕服務器的壓力而產生的,但是同時有緩存的存在也可能使一些數據不能實時更新,對此,我們就來實現一個ThinkPHP的清理緩存的功能。代碼如下:
ThinkPHP后臺執(zhí)行的代碼:
//獲取要清楚的目錄和目錄所在的絕對路徑 public function cache(){ ////前臺用ajax get方式進行提交的,這里是先判斷一下 if($_POST['type']){ //得到傳遞過來的值 $type=$_POST['type']; //將傳遞過來的值進行切割,我是用“-”進行切割的 $name=explode('-', $type); //得到切割的條數,便于下面循環(huán) $count=count($name); //循環(huán)調用上面的方法 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){//刪除執(zhí)行的方法 //去除空格 $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>
相關文章
Laravel框架基礎語法與知識點整理【模板變量、輸出、include引入子視圖等】
這篇文章主要介紹了Laravel框架基礎語法與知識點整理,包括模板變量、輸出、include引入子視圖等相關操作技巧,需要的朋友可以參考下2019-12-12php使用lua+redis實現限流,計數器模式,令牌桶模式
這篇文章主要介紹了php使用lua+redis實現限流,計數器模式,令牌桶模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04