CacheFile.class 清除缓存方法clear

浏览:1596 发布日期:2014/08/13
3.1.3 - 普通 - 未处理
    public function clear() {
        $path   =  $this->options['temp'];
        $files  =   scandir($path);
        if($files){
            foreach($files as $file){
                if ($file != '.' && $file != '..' && is_dir($path.$file) ){
                    array_map( 'unlink', glob( $path.$file.'/*.*' ) );
                }elseif(is_file($path.$file)){
                    unlink( $path . $file );
                }
            }
            return true;
        }
        return false;
    }
如若设置了DATA_CACHE_SUBDIR(开启子目录缓存),DATA_PATH_LEVEL(目录层次),子目录缓存无法清除。    private function filename($name) {
        $name    =    md5($name);
        if(C('DATA_CACHE_SUBDIR')) {
            // 使用子目录
            $dir   ='';
            for($i=0;$i<C('DATA_PATH_LEVEL');$i++) {
                $dir    .=    $name{$i}.'/';
            }
            if(!is_dir($this->options['temp'].$dir)) {
                mkdir($this->options['temp'].$dir,0755,true);
            }
            $filename    =    $dir.$this->options['prefix'].$name.'.php';
        }else{
            $filename    =    $this->options['prefix'].$name.'.php';
        }
        return $this->options['temp'].$filename;
    }
评论(
后面还有条评论,点击查看>>