在 Laravel 5.5 中移动文件夹

Ken*_*ius 3 laravel-5

设想

我试图允许用户在 Laravel 5.5 中移动文件夹,但 Laravel 站点没有仅移动文件夹文件的示例代码。我查看了其他地方,在 stackoverflow 和其他地方找到了一些其他答案,并尝试了所有这些答案。

Laravel 移动所有文件目录

https://laracasts.com/discuss/channels/laravel/laravel-cannot-use-movedirectory-and-copydirectory-problem

Laravel,无法复制目录或移动目录

当我尝试移动文件夹时,我在 Devtools 中收到以下响应:

0:"I want to move this /public/Gallery"
1:"To here /public/Images"
2:false
Run Code Online (Sandbox Code Playgroud)

从后端的这段代码

$item ['path' => '/public/Gallery']
$path = '/public/Images'
$success = File::moveDirectory($item['path'], $path);
return [
    "I want to move this ".$item['path'],
    "To here $path",
    $success,
];
Run Code Online (Sandbox Code Playgroud)

早些时候,我收到回复说该文件已经存在,尽管它不存在,但我无法复制该文件。

编辑

使用Storage::move()我能够复制“已存在错误”

exception:"League\Flysystem\FileExistsException"
file:"C:\Users\user.name\Desktop\electron-api\vendor\league\flysystem\src\Filesystem.php"
line:402
message:"File already exists at path: public/Images"
Run Code Online (Sandbox Code Playgroud)

问题

如何在 laravel 5 存储中移动文件夹,而不是文件。最好使用存储外观。

Ken*_*ius 5

感觉真的很愚蠢错误地使用了该方法,因为我没有看到它在任何地方明确引用,您必须在“移动自”和“移动到”目录中包含文件夹名称,所以我一直在这样写:

Storage::move('Folder', 'OtherFolder');

但这不起作用,我需要这样做

Storage::move('Folder', 'OtherFolder/Folder');

被移入的文件夹OtherFolder仍然需要命名为文件夹,因此名称需要附加在末尾,laravel 没有抛出任何特定错误,使我能够正确理解我做错了什么。

希望这对将来像我一样愚蠢的人有所帮助。