paste() публичный Метод

If the source is a folder, it copies recursively.
public paste ( array | string $source, string $target, string $action = 'move' ) : boolean
$source array | string
$target string
$action string move|copy
Результат boolean
Пример #1
0
 /**
  * @ApiDoc(
  *  section="File Manager",
  *  description="Moves or copies files in /web to $target in /web"
  * )
  *
  * @Rest\RequestParam(name="files", requirements=".*", map=true, strict=true, description="The file paths")
  * @Rest\RequestParam(name="target", requirements=".*", strict=true, description="The target file path")
  * @Rest\RequestParam(name="overwrite", requirements=".*", strict=true, default="false", description="If the target should be overwritten")
  * @Rest\RequestParam(name="move", requirements=".*", strict=true, default="false", description="If files should be moved (cut&paste) or copied (copy&paste)")
  *
  * @Rest\Post("/admin/file/paste")
  *
  * @param ParamFetcher $paramFetcher
  *
  * @return array|bool returns [targetExists => true] when a target exists and $overwrite=false, otherwise true/false.
  */
 public function pasteAction(ParamFetcher $paramFetcher)
 {
     $files = $paramFetcher->get('files');
     $target = $paramFetcher->get('target');
     $overwrite = filter_var($paramFetcher->get('overwrite'), FILTER_VALIDATE_BOOLEAN);
     $move = filter_var($paramFetcher->get('move'), FILTER_VALIDATE_BOOLEAN);
     $this->checkAccess($target);
     foreach ($files as $file) {
         $this->checkAccess($file);
         $newPath = $target . '/' . basename($file);
         if (!$overwrite && $this->webFilesystem->has($newPath)) {
             return ['targetExists' => true];
         }
         $this->newFeed($file, $move ? 'moved' : 'copied', sprintf('from %s to %s', $file, $newPath));
     }
     return $this->webFilesystem->paste($files, $target, $move ? 'move' : 'copy');
 }