예제 #1
0
 /**
  * @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;
 }