public function finalize($totalSize, $treeHash) { $file = $this->getFile('data'); if (($f = fopen($file, 'r+')) === false) { return false; } ftruncate($f, $totalSize); fclose($f); $a = new Archive(true, $this->vault); $a->setParam('SHA256TreeHash', $treeHash); $a->setParam('Size', $totalSize); $a->setParam('Description', $this->getParam('Description')); rename($this->getFile('data'), $a->getFile('data')); $this->delete(); return $a; }