示例#1
0
 public function removeDirectoryAndContents()
 {
     if ($this->fileExists()) {
         // Remove o diretório e seu conteúdo (outros arquivos/diretórios) através de lógica recursiva
         $files = array_diff(scandir($this->filename), array('.', '..'));
         foreach ($files as $file) {
             is_dir("{$this->filename}/{$file}") ? File::removeDirectoryAndContents("{$this->filename}/{$file}") : unlink("{$this->filename}/{$file}");
         }
         return rmdir($this->filename);
     }
 }
示例#2
0
 public function delete($id)
 {
     $this->mapping->criterias['id'] = new stdclass();
     $this->mapping->criterias['id']->field = 'albumID';
     $this->mapping->criterias['id']->operator = '=';
     $this->mapping->criterias['id']->value = $id;
     try {
         $this->dbh->beginTransaction();
         parent::delete($id);
         $this->dbh->commit();
         // Elimina diretório e todo o conteúdo do álbum de fotos
         $file = new File(Config::read('path.photos') . '/' . $id);
         $file->removeDirectoryAndContents();
     } catch (PDOException $exception) {
         $this->dbh->rollback();
         $this->modelException(Text::read('message.model.error.delete'), $exception);
     }
 }