我正在尝试将文件从一个地方移动到另一个地方。在这种情况下,它是我的用户个人资料图片。由于我将用户个人资料图片库存储在他们的用户名上,因此他们更改了用户名。我需要移动他们的个人资料照片,否则,图像链接将被破坏。
我在这里尝试过:
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);
}
我一直在:
有什么建议吗?
答案 0 :(得分:11)
您正在以错误的方向移动文件。
应为$move = File::move($old_path, $new_path);
...换句话说,第一个参数应该是OLD文件位置,第二个参数应该是新文件位置...你有它倒退。 :)
将文件移至新位置
存储::移动('old / file1.jpg','new / file1.jpg');
此外,如上所述,您不应该删除File :: delete,因为该文件已被移动并因此被删除。
所以,有两件事:
1)切换“old_path”和“new_path”和
2)删除File :: delete行
答案 1 :(得分:0)
我建议您根据用户ID而不是用户名存储文件,这样,当用户名更改时,您无需移动任何内容。仅替换现有文件。