writeFile() public method

Uploads file to server. Paths are absolute.
public writeFile ( $local, $remote, callable $progress = NULL ) : void
$progress callable
return void
示例#1
0
 /**
  * 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;
 }