/** * @inheritdoc */ public function deleteFormattedFile($data, $format) { if (!$this->fileExists($data, $format)) { return false; } list($folder, $filename) = explode('/', $data); $rootDirectory = $this->getRootDirectory(); $fsFilename = FileSystemHelper::encodeFilename($filename); if (false === ($formatBasename = $this->_findFormatBasename("{$rootDirectory}/{$folder}/{$this->formatsSubdir}/{$fsFilename}", $format))) { return false; } $fsFormatBasename = FileSystemHelper::encodeFilename($formatBasename); if ($result = @unlink("{$rootDirectory}/{$folder}/{$this->formatsSubdir}/{$fsFilename}/{$fsFormatBasename}")) { $clearDirs = ["{$rootDirectory}/{$folder}/{$this->formatsSubdir}/{$fsFilename}", "{$rootDirectory}/{$folder}/{$this->formatsSubdir}"]; foreach ($clearDirs as $dir) { if (!FileSystemHelper::isEmptyDirectory($dir)) { break; } if (!@rmdir($dir)) { break; } } } return $result; }