很多的開源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); } } }
前台頁面部分代碼如下:
http://www.bkjia.com/PHPjc/824778.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/824778.htmlTechArticle很多的開源cms系統都有一鍵清除緩衝的功能,緩衝是為了減輕伺服器的壓力而產生的,但是同時有緩衝的存在也可能使一些資料不能即時更...