/** * Supression des éléments du cache * Si $pId = null tout le type (ou sous-type) passé en paramètre du constructeur est vidé * * @param string $pId Identifiant de l'élément à supprimer * @param string $pType Type de cache * @param array $pExtra Paramètres supplémentaires */ public function clear($pId, $pType, $pExtra) { if ($pId !== null) { $fileName = $this->_makeFileName($pId, $pType, $pExtra); if (is_readable($fileName)) { unlink($this->_makeFileName($pId, $pType, $pExtra)); } } else { if (file_exists(COPIX_CACHE_PATH . self::_getDir($pExtra) . $this->_getDirectory($pType, $pExtra))) { CopixFile::removeDir(COPIX_CACHE_PATH . self::_getDir($pExtra) . $this->_getDirectory($pType, $pExtra) . '/'); } } }
/** * Test de suppression de répertoire * */ public function testRemoveDir() { // On écrit un fichier dans une arborescence CopixFile::write(COPIX_TEMP_PATH . 'unitfiletest/unitfiletest/unitfiletest/abcdef', 'tsetset'); $this->assertTrue(file_exists(COPIX_TEMP_PATH . 'unitfiletest/unitfiletest/unitfiletest/abcdef')); // On efface le répertoire CopixFile::removeDir(COPIX_TEMP_PATH . 'unitfiletest'); $this->assertTrue(!file_exists(COPIX_TEMP_PATH . 'unitfiletest/unitfiletest/unitfiletest/abcdef')); // On écrit un fichier dans une arborescence CopixFile::write(COPIX_TEMP_PATH . 'unitfiletest/unitfiletest/unitfiletest/abcdef', 'tsetset'); $this->assertTrue(file_exists(COPIX_TEMP_PATH . 'unitfiletest')); // On efface le contenu du répertoire CopixFile::removeDir(COPIX_TEMP_PATH . 'unitfiletest/'); $this->assertTrue(count(glob(COPIX_TEMP_PATH . 'unitfiletest/*')) == 0); CopixFile::removeDir(COPIX_TEMP_PATH . 'unitfiletest'); // On écrit un fichier dans une arborescence CopixFile::write(COPIX_TEMP_PATH . 'unitfiletest/unitfiletest/unitfiletest/abcdef', 'tsetset'); $this->assertTrue(file_exists(COPIX_TEMP_PATH . 'unitfiletest')); // On efface le répertoire avec la méthode removeFileFromPath $this->assertTrue(CopixFile::removeFileFromPath(COPIX_TEMP_PATH . 'unitfiletest/unitfiletest/')); CopixFile::removeDir(COPIX_TEMP_PATH . 'unitfiletest'); }