public function upload(FileInterface $file, $name, $path = null) { $path = is_null($path) ? $name : sprintf('%s/%s', $path, $name); if ($file instanceof FlysystemFile) { if ($file->getFilesystem() == $this->filesystem) { $file->getFilesystem()->rename($file->getPath(), $path); return new FlysystemFile($this->filesystem->get($path), $this->filesystem, $this->streamWrapperPrefix); } } $this->filesystem->put($name, file_get_contents($file)); if ($file instanceof FlysystemFile) { $file->delete(); } else { $filesystem = new LocalFilesystem(); $filesystem->remove($file->getPathname()); } return new FlysystemFile($this->filesystem->get($path), $this->filesystem, $this->streamWrapperPrefix); }
public function upload(FileInterface $file, $name, $path = null) { $path = is_null($path) ? $name : sprintf('%s/%s', $path, $name); if ($file instanceof FlysystemFile) { if ($file->getFilesystem() == $this->filesystem) { $file->getFilesystem()->rename($file->getPath(), $path); return new FlysystemFile($this->filesystem->get($path), $this->filesystem, $this->streamWrapperPrefix); } } $stream = fopen($file->getPathname(), 'r+'); $this->filesystem->putStream($name, $stream); if (is_resource($stream)) { fclose($stream); } if ($file instanceof FlysystemFile) { $file->delete(); } else { $filesystem = new LocalFilesystem(); $filesystem->remove($file->getPathname()); } return new FlysystemFile($this->filesystem->get($path), $this->filesystem, $this->streamWrapperPrefix); }