如何将文件从一个位置移动到另一个位置?

Tif*_*oun 9 php laravel laravel-5

我正在尝试将文件从一个地方移动到另一个地方.在这种情况下,它是我的用户个人资料图片.由于我将用户个人资料图片库存储在他们的用户名上,因此他们更改了用户名.我需要移动他们的个人资料照片,否则,图像链接将被破坏.

我在这里尝试过:

if ( $user->username != Input::get('username')) {
    $new_path = public_path().'/img/logo/'. Input::get('username').'/'.$user->logo_path;
    $old_path = public_path().'/img/logo/'. $user->username.'/'.$user->logo_path;
    $move = File::move($new_path, $old_path);
    $delete = File::delete($old_path);
}
Run Code Online (Sandbox Code Playgroud)

我一直在:

在此输入图像描述

有什么建议?

Joh*_*ipp 13

您正在以错误的方向移动文件.

它应该是 $move = File::move($old_path, $new_path);

...换句话说,第一个参数应该是OLD文件位置,第二个参数应该是新文件位置...你有它倒退.:)

来自Laravel Docs

将文件移动到新位置

Storage :: move('old/file1.jpg','new/file1.jpg');

此外,如上所述,您不应该删除File :: delete,因为该文件已被移动并因此被删除.

那么,有两件事:

1)切换"old_path"和"new_path"和

2)删除File :: delete行