如何使用Laravel的存储设备从远程SFTP服务器下载文件?

时间:2019-11-19 01:47:57

标签: php laravel laravel-filesystem laravel-storage

我在 Laravel 5.5 中编写了 artisan命令 AWS EC2 实例中有文件,并且都在同一文件夹中,我的命令需要下载所有这些文件到本地存储/文件夹中。 我浏览了Laravel的文档,但找不到有用的信息。我已在我的文件系统配置文件中添加了一个磁盘以供本地存储/文件夹访问,以及一个AWS SFTP服务器的磁盘。 以前,我一直在使用phpseclib进行此操作,但希望继续以Laravel的方式使用Laravel。 我尝试了以下方法:

Storage::disk('aws')->get('path/filename.ext');

会引发以下异常:

In FilesystemAdapter.php line 109:
path/filename.ext

In Filesystem.php line 388:
 File not found at path: path/filename.ext

但是我可以看到文件在那里,我的程序可以下载它,实际上所有文件都使用phpseclib。

并尝试了以下返回空数组的操作

Storage::disk('aws')->files('folder-name');

aws是我在文件系统配置文件中定义的磁盘,如下所示:

'aws' => [
    'driver' = 'ftp',
    'host' = '12.123.123.12',
    'username' = 'myusername',
    'password' = 'mypassword'
 ]

谢谢!

0 个答案:

没有答案