/**
* 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;
}