/** * Uploades files. * @return void */ private function uploadFilesZipped(array $files) { $size = 0; $zip = new PclZip($zipFile = tempnam($this->tempDir, 'deployment.zip')); $this->logger->log('zipFile is ' . $zipFile); $toRename = []; $prevDir = NULL; foreach ($files as $num => $file) { $remoteFile = $file; $isDir = substr($remoteFile, -1) === '/'; if ($isDir) { $this->writeProgress($num + 1, count($files), $file, NULL, 'green'); continue; } $localFile = $this->preprocess($orig = $this->local . $file); $toRename[] = $remoteFile; //$this->logger->log('adding ' . $localFile.' as '.$remoteFile); $zip->add([[PCLZIP_ATT_FILE_NAME => $localFile, PCLZIP_ATT_FILE_NEW_FULL_NAME => $remoteFile]]); $size += filesize($localFile); $this->writeProgress($num + 1, count($files), $file, NULL, 'green'); } $this->server->writeFile($zipFile, '.deployment.zip', function ($percent) { $this->writeProgress(1, 1, 'deploying zip archive', $percent, 'green'); }); return $size; }