Laravel Filesystem-将文件从一个磁盘移动到另一个磁盘

时间:2018-07-12 09:27:52

标签: php laravel

我正在尝试将文件从FTP服务器移动到本地目录。首先,我需要从FTP服务器上找到正确的文件,因为可能有数百个文件:

//Search for the file.
$fileName= array_filter(Storage::disk('ftp')->files(), function ($file)
{
   return preg_match('/('.date("Y-m-d" ,time()).').*.XLSX/', $file);
});

以上找到正确的文件。如果我dd($fileName),我得到的是: My File Name.XLSX

然后我尝试将该文件移动到我的公用磁盘上

 $ftp_file = Storage::disk('ftp')->get($fileName);
 $local_file = Storage::disk('public')->move($ftp_file, "moved_file.xlsx");

但是上面的代码不起作用。我遇到以下错误:

  

preg_match()期望参数2为字符串,给定数组

我已经确定要使用以下功能:

$ftp_file = Storage::disk('ftp')->get($fileName);

我在做什么错?如何将可以在FTP服务器上找到的文件移动到本地磁盘上?

谢谢。

1 个答案:

答案 0 :(得分:0)

@Loek指出,override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool是一个数组,因此要访问它,我需要使用:

$fileName