Example #1
0
/**
 * 循环删除目录和文件函数
 * @param string $dirName 路径
 * @param boolean $fileFlag 是否删除目录
 * @return void
 */
function del_dir_file($dirName, $bFlag = false)
{
    if ($handle = opendir("{$dirName}")) {
        while (false !== ($item = readdir($handle))) {
            if ($item != "." && $item != "..") {
                if (is_dir("{$dirName}/{$item}")) {
                    del_dir_file("{$dirName}/{$item}", $bFlag);
                } else {
                    unlink("{$dirName}/{$item}");
                }
            }
        }
        closedir($handle);
        if ($bFlag) {
            rmdir($dirName);
        }
    }
}
 /**
  * 清理缓存方法(动态缓存)
  */
 public function do_clearRuntime($dellog = false)
 {
     header("Content-Type:text/html; charset=utf-8");
     //不然返回中文乱码
     //清除缓存
     is_dir(DATA_PATH . '_fields/') && del_dir_file(DATA_PATH . '_fields/', false);
     is_dir(CACHE_PATH) && del_dir_file(CACHE_PATH, false);
     //模板缓存(混编后的)
     echo '<p>清除Cache缓存成功!</p>';
     is_dir(DATA_PATH) && del_dir_file(DATA_PATH, false);
     //项目数据(当使用快速缓存函数F的时候,缓存的数据)
     echo '<p>清除Data缓存成功!</p>';
     is_dir(TEMP_PATH) && del_dir_file(TEMP_PATH, false);
     //项目缓存(当S方法缓存类型为File的时候,这里每个文件存放的就是缓存的数据)
     echo '<p>清除Temp缓存成功!</p>';
     is_dir(LOG_PATH) && del_dir_file(LOG_PATH, false);
     //项目缓存(当S方法缓存类型为File的时候,这里每个文件存放的就是缓存的数据)
     echo '<p>清除Logs缓存成功!</p>';
     if ($dellog) {
         is_dir(LOG_PATH) && del_dir_file(LOG_PATH, false);
         //日志
     }
     is_file(RUNTIME_PATH . APP_MODE . '~runtime.php') && @unlink(RUNTIME_PATH . APP_MODE . '~runtime.php');
     //RUNTIME_FILE
     echo '清除完成';
 }
Example #3
0
/**
 * 删除静态缓存文件
 * @param string $str 缓存路径
 * @param boolean $isdir 是否是目录
 * @param string $rules 缓存规则名
 * @return mixed
 */
function del_cache_html($str, $isdir = false, $rules = '')
{
    //为空,且不是目录
    $delflag = true;
    if (empty($str) && !$isdir) {
        return;
    }
    $str_array = array();
    //更新静态缓存
    $html_cache_rules = get_meta_value('HTML_CACHE_RULES_COMMON');
    if (get_meta_value('HOME_HTML_CACHE_ON')) {
        $str_array[] = HTML_PATH . 'Home/' . $str;
    }
    if (get_meta_value('MOBILE_HTML_CACHE_ON')) {
        $str_array[] = HTML_PATH . 'Mobile/' . $str;
    }
    if (!empty($rules) && !isset($html_cache_rules[$rules])) {
        $delflag = false;
        //指定规则,如不存在则不用清除
    } else {
        $delflag = true;
    }
    if ($delflag) {
        foreach ($str_array as $v) {
            if ($isdir && is_dir($v)) {
                del_dir_file($v, false);
            } else {
                $list = glob($v . '*');
                for ($i = 0; $i < count($list); $i++) {
                    if (is_file($list[$i])) {
                        unlink($list[$i]);
                    }
                }
            }
        }
    }
}