在项目中关闭了调试模式之后,对视图文件的修改不删除缓存无法生效。
这里给大家分享一个一键删除缓存的功能
首先是在系统的控制器中添加操作方法:
public function cache_cleanAction() { echo "缓存清理中……<br/>"; $path = RUNTIME_PATH . "Cache/";//删除缓存目录 echo delCache($path);//调用函数删除缓存 echo "<br/>缓存清理完毕。"; }
现在是调用函数:
/** * 删除目录及目录下所有文件或删除指定文件 * @param str $path 待删除目录路径 * @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录) * @return bool 返回删除状态 */ function delCache($path, $delDir = FALSE) { $message = ""; $handle = opendir($path);//打开目录 if ($handle) { while (false !== ( $item = readdir($handle) )) {//判断目录 if ($item != "." && $item != "..") { if (is_dir("$path/$item")) { $msg = delCache("$path/$item", $delDir);//循环调用 if ( $msg ){ $message .= $msg; } } else { $message .= "删除文件" . $item; if (unlink("$path/$item")){ $message .= "成功<br />"; } else { $message .= "失败<br />"; } } } } closedir($handle); if ($delDir){ if ( rmdir($path) ){ $message .= "删除目录" . dirname($path) . "<br />"; } else { $message .= "删除目录" . dirname($path) . "失败<br />"; } } } else { if (file_exists($path)) { if (unlink($path)){ $message .= "删除文件" . basename($path) . "<br />"; } else { $message .= "删除文件" + basename($path) . "失败<br />"; } } else { $message .= "文件" + basename($path) . "不存在<br />"; } } return $message; }
函数参考的是thinkphpadmin的删除缓存,记得给予权限;
千万记住。如果输入的目录为错误的。那么默认是.开始,也就是会清空你的项目文件。并且在回收站是没有的!
上一篇: 网站名加载https...