【发布时间】:2018-05-14 21:11:11
【问题描述】:
我在 Laravel 中有 2 个磁盘。
一个是本地磁盘,另一个是我需要上传文件的 FTP 服务器。它们都已正确配置。
我尝试过这种方式:
Storage::disk('FTP')->copy('old/file1.jpg', 'new/file1.jpg');
这只会复制已经在 FTP 服务器中的文件。我也阅读了文档,似乎没有办法将两者结合起来上传文件。
有什么建议吗?
【问题讨论】:
我在 Laravel 中有 2 个磁盘。
一个是本地磁盘,另一个是我需要上传文件的 FTP 服务器。它们都已正确配置。
我尝试过这种方式:
Storage::disk('FTP')->copy('old/file1.jpg', 'new/file1.jpg');
这只会复制已经在 FTP 服务器中的文件。我也阅读了文档,似乎没有办法将两者结合起来上传文件。
有什么建议吗?
【问题讨论】:
Storage::get 和 Storage::put 的简单组合应该可以解决问题。
Storage::disk('FTP')->put('new/file1.jpg', Storage::get('old/file1.jpg'));
【讨论】:
@ceejayoz 有一个很好的答案,但正如 cmets 中所述,它先获取,然后再写入。
为了使用流,可以使用以下代码:
Storage::disk('FTP')->writeStream('new/file1.jpg', Storage::readStream('old/file1.jpg'));
【讨论】: