# ThinkPHP5.1 清除缓存 >在基类控制器里,写上`clear()`方法,到时候用于调用 ``` public function clear(){ if (delete_dir_file(CACHE_PATH) || delete_dir_file(TEMP_PATH)) { return json(["code"=>1,"msg"=>"清除缓存成功"]); } else { return json(["code"=>0,"msg"=>"清除缓存失败"]); } } ``` --- >这个时候发现`delete_dir_file()`函数未定义,我们去公共函数里进行定义并写出来: *common.php*: ``` /** * 循环删除目录和文件 * @param string $dir_name * @return bool */ function delete_dir_file($dir_name) { $result = false; if(is_dir($dir_name)){ if ($handle = opendir($dir_name)) { while (false !== ($item = readdir($handle))) { if ($item != '.' && $item != '..') { if (is_dir($dir_name . DS . $item)) { delete_dir_file($dir_name . DS . $item); } else { unlink($dir_name . DS . $item); } } } closedir($handle); if (rmdir($dir_name)) { $result = true; } } } return $result; } ```