我在Laravel中有2个磁盘。
一个是本地磁盘,另一个是我需要上传文件的FTP服务器。它们都配置正确。
我试过这种方式:
Storage::disk('FTP')->copy('old/file1.jpg', 'new/file1.jpg');
如果文件已经在FTP服务器中,则只会复制该文件。我还阅读了文档,似乎无法将两者结合起来以便上传文件。
有什么建议吗?
答案 0 :(得分:13)
Storage::get
和Storage::put
的简单组合应该可以解决问题。
Storage::disk('FTP')->put('new/file1.jpg', Storage::get('old/file1.jpg'));
答案 1 :(得分:8)
@ceejayoz有一个很好的答案,但是正如评论中提到的那样,它先获取然后编写。
为了使用流,可以改为使用以下内容:
Storage::disk('FTP')->writeStream('new/file1.jpg', Storage::readStream('old/file1.jpg'));