break;
}
- $commands = array_merge($commands, [
- 'mkdir -p ' . $this->getFinalDest(),
- 'cd ' . $this->getFinalDest(),
- 'lcd ' . $this->getSrc(),
- ]);
- $mirrorCmd = 'mirror --reverse --verbose --parallel=5';
- if ($this->getMirror()) {
- $mirrorCmd .= ' --delete';
+ if(is_dir($this->getSrc())) {
+ $commands = array_merge($commands, [
+ 'mkdir -p ' . $this->getFinalDest(),
+ 'cd ' . $this->getFinalDest(),
+ 'lcd ' . $this->getSrc(),
+ ]);
+ $mirrorCmd = 'mirror --reverse --verbose --parallel=5';
+ if ($this->getMirror()) {
+ $mirrorCmd .= ' --delete';
+ }
+ if ($this->isDryRun()) {
+ $mirrorCmd .= ' --dry-run';
+ }
+ $commands[] = $mirrorCmd;
+ } else {
+ $filename = explode('/',$this->getSrc());
+ $filename = end($filename);
+ $commands = array_merge($commands, [
+ 'put ' . $this->getSrc(),
+ 'rm ' . $filename
+ ]);
}
- if ($this->isDryRun()) {
- $mirrorCmd .= ' --dry-run';
- }
- $commands[] = $mirrorCmd;
$this->setArg('c', 'open ftp://'.$this->getUsername().':'.$this->getPassword().'@'.$this->getHost().':'.$this->getPort().' '.implode(';', $commands));
}