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 服务器上找到的文件移动到本地磁盘?
先感谢您。
解决方案
正如@Loek 指出的那样,$fileName
是一个数组,因此要访问它,我需要使用:
$ftp_file = Storage::disk('ftp')->get($fileName[0]);
推荐阅读
- c - 如何在 IP(v4/v6) 地址(和端口)和字符串之间进行转换?
- c - 我打印矩阵的功能是返回随机数
- javascript - 如何获取具有多个键的对象数组中所有键的值,然后将它们全部相加
- java - 如何防止JavaFX调用方法事件?JavaFX
- c - 如何在 .dll 文件中打印到控制台
- c - 试图复制结构正在做一些奇怪的事情
- powershell - 使用powershell替换任务栏上的固定应用程序
- angular - 如何检测 *ngIf 中的元素已加载以便在其上执行代码?
- r - 为什么 table() 函数有长度参数错误而没有 NA?
- javascript - 为什么单击按钮后 forceUpdate 不起作用?