private function copyFilesToCacheZipFolder($unpackedZipFolderPath, $cacheZipFolderPath) { $unpackedZipFolder = new Gpf_Io_File($unpackedZipFolderPath); $cacheZipFolder = new Gpf_Io_File($cacheZipFolderPath); if ($cacheZipFolder->isExists()) { $cacheZipFolder->emptyFiles(true); $cacheZipFolder->rmdir(); } $cacheZipFolder->mkdir(); $unpackedZipFolder->recursiveCopy($cacheZipFolder); }
public function recursiveCopy(Gpf_Io_File $target, $mode = null) { if ($this->isDirectory()) { $dir = new Gpf_Io_DirectoryIterator($this, '', false, true); foreach ($dir as $fullFileName => $fileName) { $file = new Gpf_Io_File($fullFileName); $targetDir = new Gpf_Io_File($target->getFileName() . '/' . $fileName); $targetDir->mkdir(); $file->recursiveCopy($targetDir); } $dir = new Gpf_Io_DirectoryIterator($this, '', false); foreach ($dir as $fullFileName => $fileName) { $srcFile = new Gpf_Io_File($fullFileName); $dstFile = new Gpf_Io_File($target->getFileName() . '/' . $fileName); $this->copy($srcFile, $dstFile); } } else { throw new Gpf_Exception($this->_('%s is not directory!', $this->fileName)); } return true; }